PandaRoot
PndSTESettings.h
Go to the documentation of this file.
1 
12 #ifndef PndSTESettings_H_
13 #define PndSTESettings_H_
14 
15 #include "PndTrack.h"
16 #include "PndTrackCand.h"
17 #include "PndRiemannTrack.h"
18 #include "PndSdsHit.h"
19 #include "FairLink.h"
20 #include "FairMultiLinkedData.h"
21 #include "FairField.h"
22 #include <vector>
23 
25 
26  public:
29 
31  virtual ~PndSTESettings(){
32 
33  };
34 
36  void SetMagneticField();
37 
38  double GetMagneticField() { return fBz; }
39 
41  void IncludeDetector(bool includeMvd, bool includeGem, bool includeBtof)
42  {
43  fIncludeMvd = includeMvd;
44  fIncludeGem = includeGem;
45  fIncludeBtof = includeBtof;
46  };
47 
49  void SetMvdHitDist(Double_t val) { fMvdHitDist = val; };
50 
52  void SetGemHitDist(Double_t val) { fGemHitDist = val; };
53 
55  void SetBtofHitDist(Double_t val) { fBtofHitDist = val; };
56 
58  void SetUseHelix(Bool_t val) { fUseHelix = val; };
59 
61  void SetUseRiemannTrack(Bool_t val) { fUseRiemann = val; };
62 
68  void SetUseIdealTrack(bool val) { fIdealTrack = val; };
69 
73  void SetRunIn3D(bool val) { fRunIn3D = val; };
74 
79  void SetNoAreaExclusion(bool val) { fNoMVDAreaExclusion = val; };
80 
82  void SetUseHemisphere(bool useHemisphere) { fUseHemisphere = useHemisphere; };
83 
85  void SetWeightsMvdHit(double weight)
86  {
87  fWeightMVD = weight;
88  fAdjustWeightsMvd = true;
89  };
90 
92  void SetDrawTracks(bool val) { fDrawTrack = val; }
93 
94  protected:
95  bool fIncludeMvd = false; // true if Mvd hits should be used
96  bool fIncludeGem = false; // true if Gem hits should be used
97  bool fIncludeBtof = false; // true if Btof hits should be used
98 
99  double fBz; // In units of Tesla [T]
100 
101  bool fUseHelix = false; // true if helix extrapolation should be used
102  bool fIdealTrack = false; // true if ideal track should be used
103  bool fUseRiemann = false; // true if Riemann track should be used
104  bool fRunIn3D = false; // true if 3D method should be used
105  bool fUseHemisphere = false; // true if hemisphere exclusion should be used
106  bool fNoMVDAreaExclusion = false; // true if no area should be excluded in the Mvd hit exclusion
107  bool fAdjustWeightsMvd = false; // If true the weight has been adjusted
108  double fWeightMVD = -1.0; // Default adjusted weight
109 
110  double fMvdHitDist = 9999999.0; // Maximum distance between Mvd hit and extrapolated or Riemann track
111  double fGemHitDist = 9999999.0; // Maximum distance between Gem hit and extrapolated track.
112  double fBtofHitDist = 9999999.0; // Maximum distance between Btof hit and extrapolated track.
113 
114  bool fDrawTrack = false; // True if a track should be drawn
115 
117 };
118 
119 #endif /* PndSTESettings_H_ */
void SetUseRiemannTrack(Bool_t val)
Function to set ia a Riemann track should be used in the procedure.
void SetMvdHitDist(Double_t val)
Function to set the maximum allowed distance of closest approach between the MVD hit and the track...
virtual ~PndSTESettings()
void SetUseIdealTrack(bool val)
Function to choose to give an ideal track as input to the MVD hit fiinding.
void SetMagneticField()
Function to set the magnetic field strength.
void SetUseHelix(Bool_t val)
Function to set ia a helix extrapolation should be used in the procedure.
void SetRunIn3D(bool val)
Function to choose if the 2D or 3D function should be used.
void SetNoAreaExclusion(bool val)
Function to choose if there is an area exclusion in the Mvd hit inclusion.
void SetBtofHitDist(Double_t val)
Function to set the maximum allowed distance of closest approach between the BTOF hit and the track...
void SetUseHemisphere(bool useHemisphere)
Function to choose to use the hemispehere method for excluding a certain area of the detector...
double GetMagneticField()
void SetDrawTracks(bool val)
ClassDef(PndSTESettings, 1)
void IncludeDetector(bool includeMvd, bool includeGem, bool includeBtof)
Function to choose which detectors to include.
void SetGemHitDist(Double_t val)
Function to set the maximum allowed distance of closest approach between the GEM hit and the track...
void SetWeightsMvdHit(double weight)
Function to set the proper weights for the MVD hits for the Riemann fitting procedure.