PandaRoot
PndSTESettings.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
24 #ifndef PndSTESettings_H_
25 #define PndSTESettings_H_
26 
27 #include "PndTrack.h"
28 #include "PndTrackCand.h"
29 #include "PndRiemannTrack.h"
30 #include "PndSdsHit.h"
31 #include "FairLink.h"
32 #include "FairMultiLinkedData.h"
33 #include "FairField.h"
34 #include <vector>
35 
37 
38  public:
41 
43  virtual ~PndSTESettings(){
44 
45  };
46 
48  void SetMagneticField();
49 
50  double GetMagneticField() { return fBz; }
51 
53  void IncludeDetector(bool includeMvd, bool includeGem, bool includeBtof)
54  {
55  fIncludeMvd = includeMvd;
56  fIncludeGem = includeGem;
57  fIncludeBtof = includeBtof;
58  };
59 
61  void SetMvdHitDist(Double_t val) { fMvdHitDist = val; };
62 
64  void SetGemHitDist(Double_t val) { fGemHitDist = val; };
65 
67  void SetBtofHitDist(Double_t val) { fBtofHitDist = val; };
68 
70  void SetUseHelix(Bool_t val) { fUseHelix = val; };
71 
73  void SetUseRiemannTrack(Bool_t val) { fUseRiemann = val; };
74 
80  void SetUseIdealTrack(bool val) { fIdealTrack = val; };
81 
85  void SetRunIn3D(bool val) { fRunIn3D = val; };
86 
91  void SetNoAreaExclusion(bool val) { fNoMVDAreaExclusion = val; };
92 
94  void SetUseHemisphere(bool useHemisphere) { fUseHemisphere = useHemisphere; };
95 
97  void SetWeightsMvdHit(double weight)
98  {
99  fWeightMVD = weight;
100  fAdjustWeightsMvd = true;
101  };
102 
104  void SetDrawTracks(bool val) { fDrawTrack = val; }
105 
106  protected:
107  bool fIncludeMvd = false; // true if Mvd hits should be used
108  bool fIncludeGem = false; // true if Gem hits should be used
109  bool fIncludeBtof = false; // true if Btof hits should be used
110 
111  double fBz; // In units of Tesla [T]
112 
113  bool fUseHelix = false; // true if helix extrapolation should be used
114  bool fIdealTrack = false; // true if ideal track should be used
115  bool fUseRiemann = false; // true if Riemann track should be used
116  bool fRunIn3D = false; // true if 3D method should be used
117  bool fUseHemisphere = false; // true if hemisphere exclusion should be used
118  bool fNoMVDAreaExclusion = false; // true if no area should be excluded in the Mvd hit exclusion
119  bool fAdjustWeightsMvd = false; // If true the weight has been adjusted
120  double fWeightMVD = -1.0; // Default adjusted weight
121 
122  double fMvdHitDist = 9999999.0; // Maximum distance between Mvd hit and extrapolated or Riemann track
123  double fGemHitDist = 9999999.0; // Maximum distance between Gem hit and extrapolated track.
124  double fBtofHitDist = 9999999.0; // Maximum distance between Btof hit and extrapolated track.
125 
126  bool fDrawTrack = false; // True if a track should be drawn
127 
129 };
130 
131 #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.