#include #include #include #include #ifndef SPIN_H #define SPIN_H using namespace std; class Spin { public: Spin(); // constructor ~Spin(); // destructor void set_to_unit_matrix(); void lab_to_tra_EP(Double_t thLeft, Double_t Th_tgt_p, Double_t Ph_tgt_p); void lab_to_tra_EEP(Double_t e0, Double_t p_e, Double_t thRight, Double_t thLeft, Double_t Th_tgt_e, Double_t Ph_tgt_e); void spin_dipole(Double_t precession_angle); void spin_pentchev(Double_t p_p, Double_t y_tgt_p, Double_t Th_tgt_p, Double_t Ph_tgt_p, Double_t Th_tra_p, Double_t Ph_tra_p, Int_t mode); void tra_to_fpp(Double_t Th_tra_p, Double_t Ph_tra_p); // COSY // ---- void spin_cosy(Double_t pLeft, Double_t y_tgt_p, Double_t Th_tgt_p, Double_t Ph_tgt_p, Double_t p_p); void load_cosy_file(TString filename); void print(); Double_t& operator()(Int_t rown, Int_t coln); private: TMatrixD spin_transport; TString cosy_file; //cosy file input arrays Int_t p1[756]; Int_t p2[756]; Int_t p3[756]; Int_t p4[756]; Int_t p5[756]; Int_t zip2; Double_t coef1[756]; Double_t coef2[756]; Double_t coef3[756]; }; #endif