8 #ifndef PNDPROPAGATOR_H 9 #define PNDPROPAGATOR_H 12 #include <RtypesCore.h> 20 #include "FairLogger.h" 21 #include "FairField.h" 22 #include "FairTrackPar.h" 77 virtual void Init(FairTrackPar* ){};
86 virtual Bool_t
Propagate([[gnu::unused]] FairTrackPar* TStart,
87 [[gnu::unused]] FairTrackPar* TEnd,
88 [[gnu::unused]] Int_t PDG)
103 [[gnu::unused]] Float_t* p1,
104 [[gnu::unused]] Float_t* x2,
105 [[gnu::unused]] Float_t* p2,
106 [[gnu::unused]] Int_t PDG)
124 [[gnu::unused]] Int_t PDGCode,
125 [[gnu::unused]] TVector3 Point,
126 [[gnu::unused]] TVector3 Wire1,
127 [[gnu::unused]] TVector3 Wire2,
128 [[gnu::unused]] Double_t MaxDistance)
152 [[gnu::unused]] Int_t dir = 1,
153 [[gnu::unused]] FairTrackPar* par =
nullptr)
166 [[gnu::unused]]
const TVector3& v1,
167 [[gnu::unused]]
const TVector3& v2)
178 virtual Bool_t
SetOriginPlane([[gnu::unused]]
const TVector3& v0, [[gnu::unused]]
const TVector3& v1)
194 fVolumeName = volName;
195 fVolumeCopyNo = copyNo;
196 if (option == 1) fVolumeEnter = kTRUE;
197 else fVolumeEnter = kFALSE;
208 fDestinationLength = length;
260 #endif //PNDPROPAGATOR_H TVector3 fFinalPosition
final position
Bool_t fVolumeEnter
true if enter volume
virtual Float_t GetLengthAtPCA()
virtual Bool_t SetDestinationPlane([[gnu::unused]] const TVector3 &v0, [[gnu::unused]] const TVector3 &v1, [[gnu::unused]] const TVector3 &v2)
Method to set the plane to propagate particles to.
virtual PndProp::PCAOutputStruct GetPcaOutput()
get PCAOutputStruct containing all relevant pca informations.
virtual Float_t GetDistAtPCA()
Get distance between point of closest approach and vertex.
PndProp::PCAOutputStruct fPcaOutput
TString fVolumeName
volume name
virtual Bool_t SetPropagateOnlyParameters()
Method to set to propagate only parameters.
TVector3 fInitialPosition
initial position in cm
virtual void Init(FairTrackPar *)
default destructor
virtual Bool_t SetOriginPlane([[gnu::unused]] const TVector3 &v0, [[gnu::unused]] const TVector3 &v1)
Method to set the plane to propagate particles from.
virtual Bool_t Propagate([[gnu::unused]] Float_t *x1, [[gnu::unused]] Float_t *p1, [[gnu::unused]] Float_t *x2, [[gnu::unused]] Float_t *p2, [[gnu::unused]] Int_t PDG)
Propagate track to point, wire, plane or volume.
virtual Bool_t SetDestinationLength(Float_t length)
Method to set the length to propagate particles to.
TVector3 fWire1
first anchor point of line to which to calculate pca
virtual Bool_t SetPCAPropagation([[gnu::unused]] Int_t pca, [[gnu::unused]] Int_t dir=1, [[gnu::unused]] FairTrackPar *par=nullptr)
Set PCA propagation.
virtual Bool_t SetDestinationPoint(const TVector3 point)
Method to set the point to propagate particles to.
virtual PndProp::PCAOutputStruct FindPCA([[gnu::unused]] Int_t PCA, [[gnu::unused]] Int_t PDGCode, [[gnu::unused]] TVector3 Point, [[gnu::unused]] TVector3 Wire1, [[gnu::unused]] TVector3 Wire2, [[gnu::unused]] Double_t MaxDistance)
Find point of closest approach to point or wire.
Int_t fPcaMode
if 1: propagate to point, if 2: propagate to line, if 0: no pca
Float_t fDestinationLength
track length when PropagateToTrack is chosen
TVector3 fPoint
point to which to calculate pca
virtual Bool_t Propagate([[gnu::unused]] FairTrackPar *TStart, [[gnu::unused]] FairTrackPar *TEnd, [[gnu::unused]] Int_t PDG)
Propagate track to point, wire, plane or volume.
output of PCA finding algorithm
TVector3 fInitialMomentum
initial momentum in GeV
virtual Bool_t SetDestinationVolume(std::string volName, Int_t copyNo, Int_t option)
Method to set the volume to propagate particles to.
Int_t fVolumeCopyNo
volume copy number
Propagator interface class for PandaRoot.
virtual TVector3 GetPCA()
Get position of pca on track.
TVector3 fWire2
second anchor point of line to which to calculate pca
virtual Bool_t SetDestinationWire(const TVector3 wire1, const TVector3 wire2)
Method to set wire to propagate to.
TVector3 fFinalMomentum
final momentum