![]() |
PandaRoot
|
Helix propagator for PandaRoot. More...
#include <PndHelixPropagator.h>
Public Member Functions | |
PndHelixPropagator () | |
default constructor More... | |
PndHelixPropagator (const TString &name, const TString &title) | |
PndHelixPropagator (Double_t fieldStrength, TVector3 origin, TVector3 momentum, Double_t charge) | |
virtual | ~PndHelixPropagator () |
Bool_t | FindPCA (FairTrackPar *TStart) |
default destructor More... | |
Bool_t | FindPCAOnHelix () |
Find point of closest approach on helix track. More... | |
Bool_t | FindPCAOnStraightLine () |
Find point of closest approach on straight track. More... | |
Bool_t | Propagate (FairTrackPar *TStart, FairTrackPar *TEnd, Int_t charge) |
Function to propagate track to point of closest approach. More... | |
FairTrackPar | PropagateToZ (Double_t zpos) |
Calculate position and momentum at requested z-Value. More... | |
FairTrackPar | PropagateToXYPos (TVector2 xypos) |
Propagate to closest distance to given xy position. More... | |
FairTrackPar | PropagateToS (Double_t arclength) |
Calculate position and momentum at requested arc length. More... | |
FairTrackPar | PropagateByAngle (Double_t step) |
Calculate position and momentum at requested. More... | |
Bool_t | SetPCAPropagation (Int_t pca_mode=1, Int_t dir=1, [[gnu::unused]] FairTrackPar *par=nullptr) |
Set PCA propagation. More... | |
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... | |
Bool_t | SetOriginPlane ([[gnu::unused]] const TVector3 &v0, [[gnu::unused]] const TVector3 &v1) |
Method to set the plane to propagate particles from. More... | |
Bool_t | SetDestinationVolume ([[gnu::unused]] std::string volName, [[gnu::unused]] Int_t copyNo, [[gnu::unused]] Int_t option) |
Method to set the volume to propagate particles to. More... | |
Bool_t | SetDestinationLength ([[gnu::unused]] Float_t length) |
Method to set the length to propagate particles to. More... | |
void | Init (FairTrackPar *TStart) |
Set initial position and momentum from track parameters. More... | |
void | SetFieldStrength (Double_t field_strength) |
Set field strength in z-Direction. More... | |
void | SetMagneticField (FairField *field) |
Set magnetic field in detector. More... | |
Double_t | GetDeltaPhi () |
Get difference in phi between initial and final vector. More... | |
TVector3 | GetPoint () |
Get point to which to propagate. More... | |
Int_t | GetPcaMode () |
Get propagation mode. More... | |
![]() | |
PndPropagator () | |
default constructor More... | |
PndPropagator (const TString &name, const TString &title) | |
virtual | ~PndPropagator () |
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 | 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 Member Functions | |
Double_t | Radius () |
Calculate radius of track circle of charged particle. More... | |
TVector3 | FindCircleCenter () |
Find position of track circle center. More... | |
Protected Attributes | |
Double_t | fFieldStrength |
magentic field strength in z-Direction in Tesla More... | |
Double_t | fCharge |
sign of charge More... | |
Bool_t | fBackPropagate |
kTRUE if backward propagation More... | |
Double_t | fDeltaPhi |
propagated angle More... | |
FairField * | fMagneticField |
magnetic field in detector More... | |
Double_t | fA |
Double_t | fB |
Double_t | fC |
Double_t | fD |
![]() | |
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 |
Helix propagator for PandaRoot.
Definition at line 24 of file PndHelixPropagator.h.
PndHelixPropagator::PndHelixPropagator | ( | ) |
default constructor
Referenced by Radius().
PndHelixPropagator::PndHelixPropagator | ( | const TString & | name, |
const TString & | title | ||
) |
PndHelixPropagator::PndHelixPropagator | ( | Double_t | fieldStrength, |
TVector3 | origin, | ||
TVector3 | momentum, | ||
Double_t | charge | ||
) |
|
inlinevirtual |
Definition at line 54 of file PndHelixPropagator.h.
References FindPCA(), FindPCAOnHelix(), FindPCAOnStraightLine(), Propagate(), PropagateByAngle(), PropagateToS(), PropagateToXYPos(), and PropagateToZ().
|
protected |
Bool_t PndHelixPropagator::FindPCA | ( | FairTrackPar * | TStart | ) |
default destructor
Find point of closest approach on track.
If the magnetic field does not vanish and the particle has transverse momentum, FindPCAOnHelix is called. Else FindPCAOnStraightLine is called.
TStart | start point of propagated track |
Referenced by ~PndHelixPropagator().
Bool_t PndHelixPropagator::FindPCAOnHelix | ( | ) |
Find point of closest approach on helix track.
TStart | start point of propagated track |
Referenced by ~PndHelixPropagator().
Bool_t PndHelixPropagator::FindPCAOnStraightLine | ( | ) |
Find point of closest approach on straight track.
TStart | start point of propagated track |
Referenced by ~PndHelixPropagator().
|
inline |
Get difference in phi between initial and final vector.
Definition at line 216 of file PndHelixPropagator.h.
References fDeltaPhi.
|
inline |
Get propagation mode.
Definition at line 226 of file PndHelixPropagator.h.
References PndPropagator::ClassDef(), and PndPropagator::fPcaMode.
|
inline |
Get point to which to propagate.
Definition at line 221 of file PndHelixPropagator.h.
References PndPropagator::fPoint.
|
virtual |
Set initial position and momentum from track parameters.
TStart | initial track parameters |
Reimplemented from PndPropagator.
Referenced by SetDestinationLength().
Bool_t PndHelixPropagator::Propagate | ( | FairTrackPar * | TStart, |
FairTrackPar * | TEnd, | ||
Int_t | charge | ||
) |
Function to propagate track to point of closest approach.
This function first calls FindPCA, then propagates the initial momentum to the point of closest approach.
TStart | track parameters at point from which to propagate |
TEnd | track parameters at end point of propagation |
charge | charge of particle |
Referenced by ~PndHelixPropagator().
FairTrackPar PndHelixPropagator::PropagateByAngle | ( | Double_t | step | ) |
Calculate position and momentum at requested.
step | angle in deg from start position |
Referenced by ~PndHelixPropagator().
FairTrackPar PndHelixPropagator::PropagateToS | ( | Double_t | arclength | ) |
Calculate position and momentum at requested arc length.
arclength | arc length to which to propagate |
Referenced by ~PndHelixPropagator().
FairTrackPar PndHelixPropagator::PropagateToXYPos | ( | TVector2 | xypos | ) |
Propagate to closest distance to given xy position.
xypos | xy-position to which to propagate |
Referenced by ~PndHelixPropagator().
FairTrackPar PndHelixPropagator::PropagateToZ | ( | Double_t | zpos | ) |
Calculate position and momentum at requested z-Value.
zpos | z-position [cm] to which to propagate |
Referenced by ~PndHelixPropagator().
|
inlineprotected |
Calculate radius of track circle of charged particle.
Definition at line 39 of file PndHelixPropagator.h.
References FindCircleCenter(), PndPropagator::fInitialMomentum, and PndHelixPropagator().
|
inline |
Method to set the length to propagate particles to.
length | track length |
Definition at line 189 of file PndHelixPropagator.h.
References Init().
|
inlinevirtual |
Method to set the plane to propagate particles to.
v0 | first plane defining vector |
v1 | second plane defining vector |
v2 | third plane defining vector |
Reimplemented from PndPropagator.
Definition at line 149 of file PndHelixPropagator.h.
|
inline |
Method to set the volume to propagate particles to.
volName | volume name |
copyNo | copy number |
option | other options |
Definition at line 176 of file PndHelixPropagator.h.
|
inline |
Set field strength in z-Direction.
field_strength | magnetic field strength in Tesla |
Definition at line 205 of file PndHelixPropagator.h.
|
inline |
Set magnetic field in detector.
field | magnetic field |
Definition at line 211 of file PndHelixPropagator.h.
|
inlinevirtual |
Method to set the plane to propagate particles from.
v0 | first plane defining vector |
v1 | second plane defining vector |
Reimplemented from PndPropagator.
Definition at line 163 of file PndHelixPropagator.h.
|
inline |
Set PCA propagation.
pca_mode | if = 1: closest approach to point if = 2: closest approach to wire if = 0: no closest approach |
dir | if = +1: move forward if = -1: move backward |
par | initial track parameters |
Definition at line 128 of file PndHelixPropagator.h.
References PndPropagator::fPcaMode.
|
protected |
Definition at line 33 of file PndHelixPropagator.h.
|
protected |
Definition at line 33 of file PndHelixPropagator.h.
|
protected |
kTRUE if backward propagation
Definition at line 28 of file PndHelixPropagator.h.
|
protected |
Definition at line 33 of file PndHelixPropagator.h.
|
protected |
sign of charge
Definition at line 27 of file PndHelixPropagator.h.
|
protected |
Definition at line 33 of file PndHelixPropagator.h.
|
protected |
|
protected |
magentic field strength in z-Direction in Tesla
Definition at line 26 of file PndHelixPropagator.h.
|
protected |
magnetic field in detector
Definition at line 31 of file PndHelixPropagator.h.