PandaRoot
PndPropagator Class Reference

Propagator interface class for PandaRoot. More...

#include <PndPropagator.h>

Inheritance diagram for PndPropagator:
PndGeanePro PndHelixPropagator

Public Member Functions

 PndPropagator ()
 default constructor More...
 
 PndPropagator (const TString &name, const TString &title)
 
virtual ~PndPropagator ()
 
virtual void Init (FairTrackPar *)
 default destructor More...
 
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. More...
 
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. More...
 
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. More...
 
virtual Bool_t SetPropagateOnlyParameters ()
 Method to set to propagate only parameters. More...
 
virtual Bool_t SetPCAPropagation ([[gnu::unused]] Int_t pca, [[gnu::unused]] Int_t dir=1, [[gnu::unused]] FairTrackPar *par=nullptr)
 Set PCA propagation. More...
 
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. More...
 
virtual Bool_t SetOriginPlane ([[gnu::unused]] const TVector3 &v0, [[gnu::unused]] const TVector3 &v1)
 Method to set the plane to propagate particles from. More...
 
virtual Bool_t SetDestinationVolume (std::string volName, Int_t copyNo, Int_t option)
 Method to set the volume to propagate particles to. More...
 
virtual Bool_t SetDestinationLength (Float_t length)
 Method to set the length to propagate particles to. More...
 
virtual Bool_t SetDestinationPoint (const TVector3 point)
 Method to set the point to propagate particles to. More...
 
virtual Bool_t SetDestinationWire (const TVector3 wire1, const TVector3 wire2)
 Method to set wire to propagate to. More...
 
virtual PndProp::PCAOutputStruct GetPcaOutput ()
 get PCAOutputStruct containing all relevant pca informations. More...
 
virtual Float_t GetLengthAtPCA ()
 
virtual Float_t GetDistAtPCA ()
 Get distance between point of closest approach and vertex. More...
 
virtual TVector3 GetPCA ()
 Get position of pca on track. More...
 
 ClassDef (PndPropagator, 1)
 

Protected Attributes

Int_t fPcaMode
 if 1: propagate to point, if 2: propagate to line, if 0: no pca More...
 
TVector3 fPoint
 point to which to calculate pca More...
 
TVector3 fWire1
 first anchor point of line to which to calculate pca More...
 
TVector3 fWire2
 second anchor point of line to which to calculate pca More...
 
Float_t fDestinationLength
 track length when PropagateToTrack is chosen More...
 
TString fVolumeName
 volume name More...
 
Int_t fVolumeCopyNo
 volume copy number More...
 
Bool_t fVolumeEnter
 true if enter volume More...
 
TVector3 fInitialPosition
 initial position in cm More...
 
TVector3 fInitialMomentum
 initial momentum in GeV More...
 
TVector3 fFinalPosition
 final position More...
 
TVector3 fFinalMomentum
 final momentum More...
 
PndProp::PCAOutputStruct fPcaOutput
 

Detailed Description

Propagator interface class for PandaRoot.

Definition at line 52 of file PndPropagator.h.

Constructor & Destructor Documentation

◆ PndPropagator() [1/2]

PndPropagator::PndPropagator ( )

default constructor

◆ PndPropagator() [2/2]

PndPropagator::PndPropagator ( const TString &  name,
const TString &  title 
)

◆ ~PndPropagator()

virtual PndPropagator::~PndPropagator ( )
inlinevirtual

Definition at line 75 of file PndPropagator.h.

75 {};

Member Function Documentation

◆ ClassDef()

PndPropagator::ClassDef ( PndPropagator  ,
 
)

◆ FindPCA()

virtual PndProp::PCAOutputStruct PndPropagator::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 
)
inlinevirtual

Find point of closest approach to point or wire.

Parameters
pcaif = 1: closest approach to point if = 2: closest approach to wire if = 0: no closest approach
PDGCodepdg code of the particle
pointpoint with respect to which calculate the closest approach
wirefirst anchor point of line with respect to which calculate the closest approach
wire2second anchor point of line with respect to which calculate the closest approach
maxdistancegeometrical distance[start - point/wire extr] * 2
Returns
kTRUE if successful

Definition at line 123 of file PndPropagator.h.

129  {
130  return PndProp::PCAOutputStruct();
131  }
output of PCA finding algorithm
Definition: PndPropagator.h:29

◆ GetDistAtPCA()

virtual Float_t PndPropagator::GetDistAtPCA ( )
inlinevirtual

Get distance between point of closest approach and vertex.

Definition at line 250 of file PndPropagator.h.

References PndProp::PCAOutputStruct::Distance.

250 { return fPcaOutput.Distance; };
PndProp::PCAOutputStruct fPcaOutput
Definition: PndPropagator.h:69

◆ GetLengthAtPCA()

virtual Float_t PndPropagator::GetLengthAtPCA ( )
inlinevirtual

Get Track length at point of closest approach.

Reimplemented in PndGeanePro.

Definition at line 245 of file PndPropagator.h.

References PndProp::PCAOutputStruct::TrackLength.

245 { return fPcaOutput.TrackLength; };
PndProp::PCAOutputStruct fPcaOutput
Definition: PndPropagator.h:69

◆ GetPCA()

virtual TVector3 PndPropagator::GetPCA ( )
inlinevirtual

Get position of pca on track.

Definition at line 255 of file PndPropagator.h.

References PndProp::PCAOutputStruct::OnTrackPCA.

255 { return fPcaOutput.OnTrackPCA; };
PndProp::PCAOutputStruct fPcaOutput
Definition: PndPropagator.h:69

◆ GetPcaOutput()

virtual PndProp::PCAOutputStruct PndPropagator::GetPcaOutput ( )
inlinevirtual

get PCAOutputStruct containing all relevant pca informations.

Definition at line 240 of file PndPropagator.h.

240 { return fPcaOutput; };
PndProp::PCAOutputStruct fPcaOutput
Definition: PndPropagator.h:69

◆ Init()

virtual void PndPropagator::Init ( FairTrackPar *  )
inlinevirtual

default destructor

Reimplemented in PndHelixPropagator, and PndGeanePro.

Definition at line 77 of file PndPropagator.h.

77 {};

◆ Propagate() [1/2]

virtual Bool_t PndPropagator::Propagate ( [[gnu::unused] ] FairTrackPar *  TStart,
[[gnu::unused] ] FairTrackPar *  TEnd,
[[gnu::unused] ] Int_t  PDG 
)
inlinevirtual

Propagate track to point, wire, plane or volume.

Parameters
TStarttrack parameters at point from which to propagate
TEndtrack parameters at end point of propagation
PDGpdg code of the particle to propagate
Returns
kTRUE if successful

Definition at line 86 of file PndPropagator.h.

89  {
90  return kFALSE;
91  }

◆ Propagate() [2/2]

virtual Bool_t PndPropagator::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 
)
inlinevirtual

Propagate track to point, wire, plane or volume.

Parameters
x1coordinates of point from which to propagate
p1momentum at point from which to propagate
x2coordinates of end point of propagation
p2momentum at end point of propagation
PDGpdg code of the particle to propagate
Returns
kTRUE if successful

Definition at line 102 of file PndPropagator.h.

107  {
108  return kFALSE;
109  }

◆ SetDestinationLength()

virtual Bool_t PndPropagator::SetDestinationLength ( Float_t  length)
inlinevirtual

Method to set the length to propagate particles to.

Parameters
lengthtrack length
Returns
kTRUE if successful

Reimplemented in PndGeanePro.

Definition at line 206 of file PndPropagator.h.

207  {
208  fDestinationLength = length;
209  return kFALSE;
210  };
Float_t fDestinationLength
track length when PropagateToTrack is chosen
Definition: PndPropagator.h:59

◆ SetDestinationPlane()

virtual Bool_t PndPropagator::SetDestinationPlane ( [[gnu::unused] ] const TVector3 &  v0,
[[gnu::unused] ] const TVector3 &  v1,
[[gnu::unused] ] const TVector3 &  v2 
)
inlinevirtual

Method to set the plane to propagate particles to.

Parameters
v0first plane defining vector
v1second plane defining vector
v2third plane defining vector
Returns
kTRUE if successful

Reimplemented in PndHelixPropagator.

Definition at line 165 of file PndPropagator.h.

168  {
169  return kFALSE;
170  }

◆ SetDestinationPoint()

virtual Bool_t PndPropagator::SetDestinationPoint ( const TVector3  point)
inlinevirtual

Method to set the point to propagate particles to.

Parameters
pointdestination point
Returns
kTRUE if successful

Reimplemented in PndGeanePro.

Definition at line 217 of file PndPropagator.h.

218  {
219  fPoint = point;
220  return kTRUE;
221  };
TVector3 fPoint
point to which to calculate pca
Definition: PndPropagator.h:56

◆ SetDestinationVolume()

virtual Bool_t PndPropagator::SetDestinationVolume ( std::string  volName,
Int_t  copyNo,
Int_t  option 
)
inlinevirtual

Method to set the volume to propagate particles to.

Parameters
volNamevolume name
copyNocopy number
optionother options
Returns
kTRUE if successful

Reimplemented in PndGeanePro.

Definition at line 190 of file PndPropagator.h.

193  {
194  fVolumeName = volName;
195  fVolumeCopyNo = copyNo;
196  if (option == 1) fVolumeEnter = kTRUE;
197  else fVolumeEnter = kFALSE;
198  return kTRUE;
199  }
Bool_t fVolumeEnter
true if enter volume
Definition: PndPropagator.h:62
TString fVolumeName
volume name
Definition: PndPropagator.h:60
Int_t fVolumeCopyNo
volume copy number
Definition: PndPropagator.h:61

◆ SetDestinationWire()

virtual Bool_t PndPropagator::SetDestinationWire ( const TVector3  wire1,
const TVector3  wire2 
)
inlinevirtual

Method to set wire to propagate to.

Parameters
wire1first anchor point of wire to propagate to
wire2second anchor point of wire to propagate to

Reimplemented in PndGeanePro.

Definition at line 228 of file PndPropagator.h.

229  {
230  fWire1 = wire1;
231  fWire2 = wire2;
232  return kTRUE;
233  };
TVector3 fWire1
first anchor point of line to which to calculate pca
Definition: PndPropagator.h:57
TVector3 fWire2
second anchor point of line to which to calculate pca
Definition: PndPropagator.h:58

◆ SetOriginPlane()

virtual Bool_t PndPropagator::SetOriginPlane ( [[gnu::unused] ] const TVector3 &  v0,
[[gnu::unused] ] const TVector3 &  v1 
)
inlinevirtual

Method to set the plane to propagate particles from.

Parameters
v0first plane defining vector
v1second plane defining vector
Returns
kTRUE if successful

Reimplemented in PndHelixPropagator.

Definition at line 178 of file PndPropagator.h.

179  {
180  return kFALSE;
181  }

◆ SetPCAPropagation()

virtual Bool_t PndPropagator::SetPCAPropagation ( [[gnu::unused] ] Int_t  pca,
[[gnu::unused] ] Int_t  dir = 1,
[[gnu::unused] ] FairTrackPar *  par = nullptr 
)
inlinevirtual

Set PCA propagation.

Parameters
pcaif = 1: closest approach to point if = 2: closest approach to wire if = 0: no closest approach
dirif = +1: move forward if = -1: move backward
parinitial track parameters
Returns
kTRUE if successful

Definition at line 151 of file PndPropagator.h.

154  {
155  return kTRUE;
156  }

◆ SetPropagateOnlyParameters()

virtual Bool_t PndPropagator::SetPropagateOnlyParameters ( )
inlinevirtual

Method to set to propagate only parameters.

Returns
kTRUE if successful

Reimplemented in PndGeanePro.

Definition at line 139 of file PndPropagator.h.

139 { return kFALSE; }

Member Data Documentation

◆ fDestinationLength

Float_t PndPropagator::fDestinationLength
protected

track length when PropagateToTrack is chosen

Definition at line 59 of file PndPropagator.h.

◆ fFinalMomentum

TVector3 PndPropagator::fFinalMomentum
protected

final momentum

Definition at line 67 of file PndPropagator.h.

◆ fFinalPosition

TVector3 PndPropagator::fFinalPosition
protected

final position

Definition at line 66 of file PndPropagator.h.

◆ fInitialMomentum

TVector3 PndPropagator::fInitialMomentum
protected

initial momentum in GeV

Definition at line 65 of file PndPropagator.h.

Referenced by PndHelixPropagator::Radius().

◆ fInitialPosition

TVector3 PndPropagator::fInitialPosition
protected

initial position in cm

Definition at line 64 of file PndPropagator.h.

◆ fPcaMode

Int_t PndPropagator::fPcaMode
protected

if 1: propagate to point, if 2: propagate to line, if 0: no pca

Definition at line 55 of file PndPropagator.h.

Referenced by PndHelixPropagator::GetPcaMode(), and PndHelixPropagator::SetPCAPropagation().

◆ fPcaOutput

PndProp::PCAOutputStruct PndPropagator::fPcaOutput
protected

Definition at line 69 of file PndPropagator.h.

Referenced by PndGeanePro::GetLengthAtPCA().

◆ fPoint

TVector3 PndPropagator::fPoint
protected

point to which to calculate pca

Definition at line 56 of file PndPropagator.h.

Referenced by PndHelixPropagator::GetPoint().

◆ fVolumeCopyNo

Int_t PndPropagator::fVolumeCopyNo
protected

volume copy number

Definition at line 61 of file PndPropagator.h.

◆ fVolumeEnter

Bool_t PndPropagator::fVolumeEnter
protected

true if enter volume

Definition at line 62 of file PndPropagator.h.

◆ fVolumeName

TString PndPropagator::fVolumeName
protected

volume name

Definition at line 60 of file PndPropagator.h.

◆ fWire1

TVector3 PndPropagator::fWire1
protected

first anchor point of line to which to calculate pca

Definition at line 57 of file PndPropagator.h.

◆ fWire2

TVector3 PndPropagator::fWire2
protected

second anchor point of line to which to calculate pca

Definition at line 58 of file PndPropagator.h.


The documentation for this class was generated from the following file: