#include "CbmPropagatorLit.h" #include "CbmLitTrackPropagator.h" #include "CbmLitToolFactory.h" #include "CbmLitConverter.h" #include "FairTrackParam.h" CbmPropagatorLit::CbmPropagatorLit( const std::string& type) { CbmLitToolFactory* factory = CbmLitToolFactory::Instance(); fPropagator = factory->CreateTrackPropagator(type); } CbmPropagatorLit::~CbmPropagatorLit() { // if (fPropagator) delete fPropagator; } StatusCode CbmPropagatorLit::Propagate( const FairTrackParam *parIn, FairTrackParam *parOut, Double_t zOut, Int_t pdg) { *parOut = *parIn; return Propagate(parOut, zOut, pdg); } StatusCode CbmPropagatorLit::Propagate( FairTrackParam *par, Double_t zOut, Int_t pdg) { CbmLitTrackParam param; LitStatus result; CbmLitConverter::TrackParamToLitTrackParam(par, ¶m); result = fPropagator->Propagate(¶m, zOut, pdg); if (result == kLITSUCCESS) { CbmLitConverter::LitTrackParamToTrackParam(¶m, par); return kCBMSUCCESS; } else { return kCBMERROR; } } void CbmPropagatorLit::TransportMatrix( std::vector& F) { // fPropagator->TransportMatrix(F); } void CbmPropagatorLit::TransportMatrix( TMatrixD& F) { // fPropagator->TransportMatrix(F); }