FairRoot/PandaRoot
PndHelixPropagator.h
Go to the documentation of this file.
1 /*
2  * PndHelixPropagator.h
3  *
4  * Created on: Sep 23, 2013
5  * Author: stockman
6  */
7 
8 #ifndef PNDHELIXPROPAGATOR_H_
9 #define PNDHELIXPROPAGATOR_H_
10 
11 #include "TObject.h"
12 #include "TVector3.h"
13 #include "FairTrackPar.h"
14 #include <utility>
15 
16 class PndHelixPropagator : public TObject {
17 public:
19  PndHelixPropagator(Double_t fieldStrength, TVector3 origin, TVector3 momentum, Double_t charge):
20  fFieldStrength(fieldStrength), fOrigin(origin), fMomentum(momentum), fCharge(charge)
21  {};
22  virtual ~PndHelixPropagator();
23  FairTrackPar PropagateToZ(Double_t zPos); //< returns position and momentum at requested z-Value [cm]
24  FairTrackPar PropagateToS(Double_t arcLength);
25  FairTrackPar PropagateByAngle(Double_t step); //< angle step in degrees from start position/momentum
26  FairTrackPar PropagateToXYPos(TVector2 xyPos); //< propagate to closes distance to given xy position
27 
28 private:
29  Double_t Radius();
30 
31  Double_t fFieldStrength; //< magentic field strength in z-Direction in Tesla
32  TVector3 fOrigin; //< Origin of track in cm
33  TVector3 fMomentum; //< Momentum of track in GeV
34  Double_t fCharge; //< Sign of charge
35 public:
36  ClassDef(PndHelixPropagator,1)
37 };
38 
39 #endif /* PNDHELIXPROPAGATOR_H_ */
FairTrackPar PropagateByAngle(Double_t step)
Double_t
FairTrackPar PropagateToZ(Double_t zPos)
FairTrackPar PropagateToS(Double_t arcLength)
PndHelixPropagator(Double_t fieldStrength, TVector3 origin, TVector3 momentum, Double_t charge)
FairTrackPar PropagateToXYPos(TVector2 xyPos)