/** CbmTrackPropagatorGeane.cxx *@author A.Lebedev *@since 2007 **/ #include "CbmLitTrackPropagatorGeane.h" #include "CbmLitTrackParam.h" #include "CbmLitConverter.h" #include "CbmPropagatorGeane.h" #include "FairTrackParam.h" #include "FairTrackParP.h" #include "TVector3.h" #include CbmLitTrackPropagatorGeane::CbmLitTrackPropagatorGeane(): CbmLitTrackPropagator("CbmLitTrackPropagatorGeane") { fPropagator = new CbmPropagatorGeane(); } CbmLitTrackPropagatorGeane::~CbmLitTrackPropagatorGeane() { if (fPropagator) delete fPropagator; } LitStatus CbmLitTrackPropagatorGeane::Initialize() { return kLITSUCCESS; } LitStatus CbmLitTrackPropagatorGeane::Finalize() { return kLITSUCCESS; } LitStatus CbmLitTrackPropagatorGeane::Propagate( const CbmLitTrackParam *parIn, CbmLitTrackParam *parOut, myf zOut, int pdg, std::vector* F) { *parOut = *parIn; return Propagate(parOut, zOut, pdg, F); } LitStatus CbmLitTrackPropagatorGeane::Propagate( CbmLitTrackParam *par, myf zOut, int pdg, std::vector* F) { FairTrackParam param; StatusCode result; CbmLitConverter::LitTrackParamToTrackParam(par, ¶m); if (std::abs(pdg) == 13) pdg = (par->GetQp() < 0) ? 13 : -13; if (std::abs(pdg) == 11) pdg = (par->GetQp() < 0) ? 11 : -11; result = fPropagator->Propagate(¶m, zOut, pdg); if (result == kCBMSUCCESS) { CbmLitConverter::TrackParamToLitTrackParam(¶m, par); return kLITSUCCESS; } else { return kLITERROR; } }