PandaRoot
PndGeanePro Class Reference

Interface to GEANE for PandaRoot. More...

#include <PndGeanePro.h>

Inheritance diagram for PndGeanePro:
PndPropagator

Public Member Functions

 PndGeanePro ()
 default constructor More...
 
 ~PndGeanePro ()
 destructor More...
 
void Init (FairTrackPar *TParam)
 Method to initialize last track parameter of reconstructed track. More...
 
Bool_t Propagate (Int_t PDG)
 Main propagate function that calls ERTRAK from GEANE to do the propagation. More...
 
virtual Bool_t Propagate (FairTrackPar *TStart, FairTrackPar *TEnd, int PDG)
 Propagate function called by user. More...
 
virtual Bool_t Propagate (Float_t *x1, Float_t *p1, Float_t *x2, Float_t *p2, Int_t PDG)
 Propagate function called by user. More...
 
virtual PndProp::PCAOutputStruct FindPCA (Int_t pca, Int_t PDGCode, TVector3 point, TVector3 wire1, TVector3 wire2, Double_t maxdistance)
 Find the point of closest approach of the track to a point (measured position) or to a line (wire). More...
 
virtual Bool_t SetDestinationPlane (const TVector3 &v0, const TVector3 &v1, const TVector3 &v2)
 Method to set the plane to propagate particles to. More...
 
virtual Bool_t SetOriginPlane (const TVector3 &v0, 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 (TVector3 point)
 Method to set point to propagate to. More...
 
virtual Bool_t SetDestinationWire (TVector3 wire1, TVector3 wire2)
 Method to set wire to propagate to. More...
 
virtual Bool_t SetPropagateOnlyParameters ()
 Method to set to propagate only parameters. More...
 
virtual bool SetPCAPropagation (Int_t pca, Int_t dir=1, FairTrackPar *par=nullptr)
 Method to set PCA mode, propagation direction and other propagation options, initializes track parameter and error matrix. More...
 
void SetBackProp ()
 Method to set propagation to backwards propagation. More...
 
Float_t GetLengthAtPCA ()
 
void GetTransportMatrix (Double_t trm[5][5])
 Method to retrieve the transport matrix. More...
 
 ClassDef (PndGeanePro, 1)
 
- 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 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 PndProp::PCAOutputStruct GetPcaOutput ()
 get PCAOutputStruct containing all relevant pca informations. More...
 
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)
 

Additional Inherited Members

- 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
 

Detailed Description

Interface to GEANE for PandaRoot.

Definition at line 18 of file PndGeanePro.h.

Constructor & Destructor Documentation

◆ PndGeanePro()

PndGeanePro::PndGeanePro ( )

default constructor

◆ ~PndGeanePro()

PndGeanePro::~PndGeanePro ( )

destructor

Member Function Documentation

◆ ClassDef()

PndGeanePro::ClassDef ( PndGeanePro  ,
 
)

Referenced by GetTransportMatrix().

◆ FindPCA()

virtual PndProp::PCAOutputStruct PndGeanePro::FindPCA ( Int_t  pca,
Int_t  PDGCode,
TVector3  point,
TVector3  wire1,
TVector3  wire2,
Double_t  maxdistance 
)
virtual

Find the point of closest approach of the track to a point (measured position) or to a line (wire).

Parameters
pca= 1 closest approach to point = 2 closest approach to wire = 0 no closest approach
PDGCodepdg code of particle
pointpoint with respect to which pca is calculated
wire1first anchor point of line with respect to which pca is calculated
wire2second anchor point of line with respect to which pca is calculated
maxdistance= geometrical distance[start - point/wire extr] * 2
Returns
PCAOutputStruct containing:
  • PCAStatusFlag: if 0: success, else: failure
  • Radius: radius if the found circle
  • OnTrackPCA: point of closest approach on track
  • OnWirePCA: point of closest approach on wire
  • Distance: distance between track and wire in the PCA
  • TrackLength: track length to add to the GEANE one

◆ GetLengthAtPCA()

Float_t PndGeanePro::GetLengthAtPCA ( )
inlinevirtual
Returns
Returns propagated track length at point of closest approach.

Reimplemented from PndPropagator.

Definition at line 179 of file PndGeanePro.h.

References PndPropagator::fPcaOutput, and PndProp::PCAOutputStruct::TrackLength.

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

◆ GetTransportMatrix()

void PndGeanePro::GetTransportMatrix ( Double_t  trm[5][5])
inline

Method to retrieve the transport matrix.

Parameters
trmMatrix in which the values of the transport matrix are stored.

Definition at line 185 of file PndGeanePro.h.

References ClassDef(), and i.

186  {
187  for (Int_t i = 0; i < 5; i++){
188  for (Int_t j = 0; j < 5; j++) {
189  trm[i][j] = fTransportMatrix[i][j];
190  }
191  }
192  }
unsigned int i
Definition: P4_F32vec4.h:21

◆ Init()

void PndGeanePro::Init ( FairTrackPar *  TParam)
virtual

Method to initialize last track parameter of reconstructed track.

Position and momentum of particle at last point of track are copied to arrays that GEANE can use.

Reimplemented from PndPropagator.

◆ Propagate() [1/3]

Bool_t PndGeanePro::Propagate ( Int_t  PDG)

Main propagate function that calls ERTRAK from GEANE to do the propagation.

Prior to calling this function, the GEANE must be set up properly. This is done by the Propagate(FairTrackPar*, FairTrackPar*) and Propagate(Float_t*, Float_t*, Float_t*, Float_t*, Int_t) functions.

Parameters
Int_tpdg code of the particle to propagate
Returns
kTRUE if propagation successfull

◆ Propagate() [2/3]

virtual Bool_t PndGeanePro::Propagate ( FairTrackPar *  TStart,
FairTrackPar *  TEnd,
int  PDG 
)
virtual

Propagate function called by user.

Propagates track from start to end point and returns end point and momentum. Before calling Propagate, the destination of propagation must be set using

  • SetDestinationPlane,
  • SetDestinationVolume,
  • SetDestinationLenth,
  • SetDestinationPoint, or
  • SetDestinatioWire. In addition, the PCA propagation mode and direction must be set using SetPCAPropagation.
    Parameters
    TStartstart track parameters - usually the momentum and position at the last point of the reconstructed track
    TEndthe return track parameters at the end of propagation
    PDGthe pdg code of the particle to propagate

◆ Propagate() [3/3]

virtual Bool_t PndGeanePro::Propagate ( Float_t *  x1,
Float_t *  p1,
Float_t *  x2,
Float_t *  p2,
Int_t  PDG 
)
virtual

Propagate function called by user.

This propagate function takes in arrays with start position and momentum. Before calling this function, GEANE needs to be set up and the destination length needs to be set.

◆ SetBackProp()

void PndGeanePro::SetBackProp ( )
inline

Method to set propagation to backwards propagation.

Definition at line 174 of file PndGeanePro.h.

174 { fPropOption = "BPE"; }

◆ SetDestinationLength()

virtual Bool_t PndGeanePro::SetDestinationLength ( Float_t  length)
virtual

Method to set the length to propagate particles to.

Parameters
lengthtrack length

Reimplemented from PndPropagator.

◆ SetDestinationPlane()

virtual Bool_t PndGeanePro::SetDestinationPlane ( const TVector3 &  v0,
const TVector3 &  v1,
const TVector3 &  v2 
)
virtual

Method to set the plane to propagate particles to.

Parameters
v0first plane defining vectors
v1second plane defining vectors
v2third plane defining vectors

◆ SetDestinationPoint()

virtual Bool_t PndGeanePro::SetDestinationPoint ( TVector3  point)
virtual

Method to set point to propagate to.

Parameters
pointpoint to propagate to

Reimplemented from PndPropagator.

◆ SetDestinationVolume()

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

Method to set the volume to propagate particles to.

Parameters
volNamevolume name
copyNocopy number
optionadditional options

Reimplemented from PndPropagator.

◆ SetDestinationWire()

virtual Bool_t PndGeanePro::SetDestinationWire ( TVector3  wire1,
TVector3  wire2 
)
virtual

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 from PndPropagator.

◆ SetOriginPlane()

virtual Bool_t PndGeanePro::SetOriginPlane ( const TVector3 &  v0,
const TVector3 &  v1 
)
virtual

Method to set the plane to propagate particles from.

Parameters
v0first plane defining vectors
v1second plane defining vectors

◆ SetPCAPropagation()

virtual bool PndGeanePro::SetPCAPropagation ( Int_t  pca,
Int_t  dir = 1,
FairTrackPar *  par = nullptr 
)
virtual

Method to set PCA mode, propagation direction and other propagation options, initializes track parameter and error matrix.

Parameters
pcaPCA mode = 1 closest approach to point = 2 closest approach to wire = 0 no closest approach
dirpropagation direction = 1 forwards = -1 backwards
partrack parameter at end of reconstructed track
Returns
kTRUE if successfull

◆ SetPropagateOnlyParameters()

virtual Bool_t PndGeanePro::SetPropagateOnlyParameters ( )
virtual

Method to set to propagate only parameters.

Reimplemented from PndPropagator.


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