#ifndef CBMGEANEUTIL_H #define CBMGEANEUTIL_H #include "CbmTrackPar.h" #include "TVector3.h" class CbmGeaneUtil : public TObject { public: CbmGeaneUtil(); ~CbmGeaneUtil(); // frame changing void FromPtToSC(Double_t PC[], Double_t RC[], Double_t PD[], Double_t RD[], Int_t &IERR); void FromPtToSD(Double_t PD[], Double_t RD[], Double_t H[], Double_t CH, Double_t SPU, Double_t DJ[], Double_t DK[], Int_t &IERR, Double_t PC[], Double_t RC[]); void FromSCToPt(Double_t PC[], Double_t RC[],Double_t PD[], Double_t RD[], Int_t &IERR); void FromSCToSD(Double_t PC[], Double_t RC[], Double_t H[], Double_t CH, Double_t DJ[], Double_t DK[], Int_t &IERR, Double_t &SPU, Double_t PD[], Double_t RD[]); void FromSD1ToSD2(Double_t PD1[], Double_t RD1[],Double_t H[], Double_t CH, Double_t SP1, Double_t DJ1[], Double_t DK1[], Double_t DJ2[], Double_t DK2[], Int_t &IERR, Double_t &SP2, Double_t PD2[], Double_t RD2[]); void FromSDToPt(Double_t PD[], Double_t RD[], Double_t H[], Double_t CH, Double_t SPU, Double_t DJ[], Double_t DK[], Int_t &IERR, Double_t PC[], Double_t RC[]); void FromSDToSC(Double_t PD[], Double_t RD[], Double_t H[], Double_t CH, Double_t SPU, Double_t DJ[], Double_t DK[], Int_t &IERR, Double_t PC[], Double_t RC[]); void FromSCToMars(Double_t PC[], Double_t RC[], Double_t H[], Double_t CH, Double_t PD[], Double_t RD[][6]); void FromMarsToSC(Double_t PD[], Double_t RD[][6], Double_t H[], Double_t CH, Double_t PC[], Double_t RC[]); void FromSDToMars(Double_t PC[], Double_t RC[], Double_t H[], Double_t CH, Double_t SP1, Double_t DJ1[], Double_t DK1[], Double_t PD[], Double_t RD[][6]); void FromMarsToSD(Double_t PD[], Double_t RD[][6], Double_t H[], Double_t CH, Double_t DJ1[], Double_t DK1[], Int_t &IERR, Double_t &SP1, Double_t PC[], Double_t RC[]); //--------------------------------------- void FromMat25ToVec15(Double_t A[][5], Double_t V[]); void FromMatToVec(Double_t A[][5], Double_t V[]); void FromVec15ToMat25(Double_t V[], Double_t A[][5]); void FromVecToMat(Double_t A[][5], Double_t V[]); void SymmProd(Double_t A[], Double_t S[], Double_t R[]); // ------------- modifiche 27 jul 2007 ------------- TVector3 FromMARSToSDCoord(TVector3 xyz, TVector3 o, TVector3 di, TVector3 dj, TVector3 dk); TVector3 FromSDToMARSCoord(TVector3 uvw, TVector3 o, TVector3 di, TVector3 dj, TVector3 dk); ClassDef(CbmGeaneUtil,1); }; #endif