FairRoot
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
FairTutorialDet4.h
Go to the documentation of this file.
1 /********************************************************************************
2  * Copyright (C) 2014 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH *
3  * *
4  * This software is distributed under the terms of the *
5  * GNU Lesser General Public Licence (LGPL) version 3, *
6  * copied verbatim in the file "LICENSE" *
7  ********************************************************************************/
8 #ifndef FAIRTUTORIALDET4_H
9 #define FAIRTUTORIALDET4_H
10 
11 #include "FairDetector.h" // for FairDetector
12 
13 #include <Rtypes.h> // for Int_t, Bool_t, Double32_t, etc
14 #include <TArrayD.h> // for TArrayD
15 #include <TClonesArray.h>
16 #include <TLorentzVector.h> // for TLorentzVector
17 #include <TVector3.h> // for TVector3
18 #include <map>
19 #include <string>
20 
25 class FairVolume;
26 class FairModule;
27 class TGeoHMatrix;
28 
30 {
31  public:
36  FairTutorialDet4(const char* Name, Bool_t Active);
37 
40 
42  virtual ~FairTutorialDet4();
43 
45  virtual void Initialize();
46 
48  virtual void InitParContainers();
49 
53  virtual Bool_t ProcessHits(FairVolume* v = 0);
54 
56  virtual void Register();
57 
59  virtual TClonesArray* GetCollection(Int_t iColl) const;
60 
62  virtual void Reset();
63 
65  void ConstructGeometry();
66 
67  void SetParContainers();
68 
73  AddHit(Int_t trackID, Int_t detID, TVector3 pos, TVector3 mom, Double_t time, Double_t length, Double_t eLoss);
74 
79  // virtual void CopyClones(TClonesArray* cl1, TClonesArray* cl2 , Int_t offset) {}
80  virtual void SetSpecialPhysicsCuts() {}
81  virtual void EndOfEvent();
82  virtual void FinishPrimary() {}
83  virtual void FinishRun() {}
84  virtual void BeginPrimary() {}
85  virtual void PostTrack() {}
86  virtual void PreTrack() {}
87  virtual void BeginEvent() {}
88 
89  void SetModifyGeometry(Bool_t val) { fModifyGeometry = val; }
90  void SetGlobalCoordinates(Bool_t val) { fGlobalCoordinates = val; }
91 
92  virtual FairModule* CloneModule() const;
93 
94  std::map<std::string, TGeoHMatrix> getMisalignmentMatrices();
95 
96  virtual void RegisterAlignmentMatrices();
97 
98  virtual Bool_t IsSensitive(const std::string& name);
99 
100  private:
101  static FairTutorialDet4Geo* fgGeo;
102 
106  Int_t fTrackID;
107  Int_t fVolumeID;
108  TLorentzVector fPos;
109  TLorentzVector fMom;
110  Double32_t fTime;
111  Double32_t fLength;
112  Double32_t fELoss;
113 
116  TClonesArray* fFairTutorialDet4PointCollection;
117 
118  FairTutorialDet4GeoHandler* fGeoHandler;
119 
120  FairTutorialDet4MisalignPar* fMisalignPar;
121 
122  Int_t fNrOfDetectors;
123  TArrayD fShiftX;
124  TArrayD fShiftY;
125  TArrayD fShiftZ;
126  TArrayD fRotX;
127  TArrayD fRotY;
128  TArrayD fRotZ;
129 
130  Bool_t fModifyGeometry;
131 
132  Bool_t fGlobalCoordinates;
136  void ConstructASCIIGeometry();
137 
139  FairTutorialDet4& operator=(const FairTutorialDet4&);
140 
141  ClassDef(FairTutorialDet4, 3);
142 };
143 
144 #endif // FAIRTUTORIALDET_H
std::map< std::string, TGeoHMatrix > getMisalignmentMatrices()
virtual void SetSpecialPhysicsCuts()
virtual void FinishRun()
virtual void PreTrack()
virtual void FinishPrimary()
virtual void Register()
virtual void InitParContainers()
virtual ~FairTutorialDet4()
virtual void BeginPrimary()
virtual void RegisterAlignmentMatrices()
virtual void PostTrack()
virtual FairModule * CloneModule() const
void SetModifyGeometry(Bool_t val)
void SetGlobalCoordinates(Bool_t val)
virtual void EndOfEvent()
virtual void Initialize()
virtual void Reset()
virtual Bool_t ProcessHits(FairVolume *v=0)
FairTutorialDet4Point * AddHit(Int_t trackID, Int_t detID, TVector3 pos, TVector3 mom, Double_t time, Double_t length, Double_t eLoss)
virtual void BeginEvent()
virtual TClonesArray * GetCollection(Int_t iColl) const
virtual Bool_t IsSensitive(const std::string &name)