FairRoot/PandaRoot
PndMdt.h
Go to the documentation of this file.
1 
2 #ifndef PNDMDT_H
3 #define PNDMDT_H 1
4 
5 #include "TROOT.h"
6 #include "TClonesArray.h"
7 #include "TLorentzVector.h"
8 #include "TString.h"
9 
10 #include "TGeoManager.h"
11 #include "TGeoVolume.h"
12 
13 #include "FairRootManager.h"
14 #include "FairDetector.h"
15 #include "FairVolume.h"
16 
17 #include "PndGeoMdtPar.h"
18 //#include "PndMdtPoint.h"
19 
20 class PndMdt : public FairDetector
21 {
22 public:
23  PndMdt();
24  PndMdt(const char* name, Bool_t active);
25  ~PndMdt();
26 
27  inline void SetMdtMagnet(bool opt=false) { mdtMagnet = opt; return; };
28  inline void SetMdtCoil(bool opt=false) { mdtCoil = opt; return; };
29  inline void SetMdtMFIron(bool opt=false) { mdtMFI = opt; return; };
30 
31  void SetBarrel(TString name) { fBarrel = name; };
32  void SetEndcap(TString name) { fEndcap = name; };
34  void SetForward(TString name) { fForward = name; };
35 // hit
36  inline void Register() { FairRootManager::Instance()->Register("MdtPoint","Mdt",fMdtCollection,kTRUE); };
37 
38  void ResetParameters();
39  void Print() const;
40  void Reset();
41 
43  TClonesArray* GetCollection(Int_t iColl) const ;
44 
45 // detector
46  inline void SetVerbosity(Bool_t verbosity) { fVerboseLevel = verbosity; };
47 
48  void ConstructGeometry();
49  void Initialize();
50  void BeginEvent();
51  Bool_t ProcessHits(FairVolume* vol);
52  Bool_t ProcessHitsFast(FairVolume* vol);
53  Bool_t ProcessHitsRoot(FairVolume* vol);
54  void EndOfEvent();
55 
56 private:
57 
58  Bool_t CheckIfSensitive(std::string name);
59  Int_t PdgToIndex(Int_t pdg);
60 
61  void PndMdtMagnet();
62  void PndMdtMuonFilter();
63  void PndMdtMFIron();
64  void PndMdtForward();
65  void PndMdtCoil();
66  void ConstructGeometryTo();
67  void ConstructGeometryFast();
68  void ConstructGeometryRoot();
69  void ConstructGeometryDu();
70 
71 // hit
72  TClonesArray* fMdtCollection;
73  Int_t fTrkIn;
74  Float_t fELoss;
75  Float_t fTime;
76  TLorentzVector fPos_In;
77  TLorentzVector fMom_In;
78 
79 // detector
81 
82  bool mdtMagnet;
83  bool mdtCoil;
84  bool mdtMFI;
85 
90 
91  ClassDef(PndMdt,1)
92 };
93 
94 #endif /* !PNDMDT_H */
TString fForward
Definition: PndMdt.h:89
void Initialize()
Definition: PndMdt.cxx:176
void SetForward(TString name)
Definition: PndMdt.h:34
TString fBarrel
Definition: PndMdt.h:86
TString fEndcap
Definition: PndMdt.h:87
TClonesArray * fMdtCollection
Definition: PndMdt.h:72
Bool_t ProcessHitsFast(FairVolume *vol)
Definition: PndMdt.cxx:207
bool mdtMFI
Definition: PndMdt.h:84
void ConstructGeometryTo()
Bool_t fVerboseLevel
Definition: PndMdt.h:80
void SetMdtCoil(bool opt=false)
Definition: PndMdt.h:28
TString fMuonFilter
Definition: PndMdt.h:88
void ResetParameters()
Definition: PndMdt.cxx:84
void BeginEvent()
Definition: PndMdt.cxx:189
void SetMdtMFIron(bool opt=false)
Definition: PndMdt.h:29
void PndMdtMFIron()
void Reset()
Definition: PndMdt.cxx:77
void Print() const
Definition: PndMdt.cxx:68
Int_t PdgToIndex(Int_t pdg)
Definition: PndMdt.cxx:351
void PndMdtMagnet()
TLorentzVector fMom_In
Definition: PndMdt.h:77
void SetMdtMagnet(bool opt=false)
Definition: PndMdt.h:27
TLorentzVector fPos_In
Definition: PndMdt.h:76
void Register()
Definition: PndMdt.h:36
PndMdt()
Definition: PndMdt.cxx:33
Bool_t ProcessHits(FairVolume *vol)
Definition: PndMdt.cxx:196
void SetBarrel(TString name)
Definition: PndMdt.h:31
bool mdtCoil
Definition: PndMdt.h:83
void EndOfEvent()
Definition: PndMdt.cxx:364
Float_t fTime
Definition: PndMdt.h:75
TString name
Bool_t ProcessHitsRoot(FairVolume *vol)
Definition: PndMdt.cxx:261
~PndMdt()
Definition: PndMdt.cxx:57
void SetEndcap(TString name)
Definition: PndMdt.h:32
void SetMuonFilter(TString name)
Definition: PndMdt.h:33
Float_t fELoss
Definition: PndMdt.h:74
void SetVerbosity(Bool_t verbosity)
Definition: PndMdt.h:46
Bool_t CheckIfSensitive(std::string name)
Definition: PndMdt.cxx:329
void PndMdtForward()
void ConstructGeometryFast()
Int_t fTrkIn
Definition: PndMdt.h:73
Definition: PndMdt.h:20
void ConstructGeometry()
Definition: PndMdt.cxx:92
void PndMdtCoil()
Definition: PndMdtCoil.cxx:33
void ConstructGeometryDu()
bool mdtMagnet
Definition: PndMdt.h:82
void PndMdtMuonFilter()
void ConstructGeometryRoot()
TClonesArray * GetCollection(Int_t iColl) const
Definition: PndMdt.cxx:341