![]() |
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... | |
Public Member Functions inherited from PndPropagator | |
| 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 |
Protected Attributes inherited from PndPropagator | |
| 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.