FairRoot
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
FairTutorialDet2.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 FAIRTUTORIALDET2_H
9 #define FAIRTUTORIALDET2_H
10 
11 #include "FairDetector.h"
12 #include "FairTutorialDet2Point.h"
13 
14 #include <Rtypes.h>
15 #include <TLorentzVector.h>
16 #include <TVector3.h>
17 #include <vector>
18 
19 class FairModule;
21 class FairVolume;
22 class TClonesArray;
23 
25 {
26  public:
31  FairTutorialDet2(const char* Name, Bool_t Active);
32 
35 
37  virtual ~FairTutorialDet2();
38 
40  virtual void Initialize();
41 
45  virtual Bool_t ProcessHits(FairVolume* v = 0);
46 
48  virtual void Register();
49 
51  virtual TClonesArray* GetCollection(Int_t iColl) const;
52 
54  virtual void Reset();
55 
57  void ConstructGeometry();
58 
63  AddHit(Int_t trackID, Int_t detID, TVector3 pos, TVector3 mom, Double_t time, Double_t length, Double_t eLoss);
64 
69  // virtual void CopyClones( TClonesArray* cl1, TClonesArray* cl2 ,
70  // Int_t offset) {;}
71  virtual void SetSpecialPhysicsCuts() { ; }
72  virtual void EndOfEvent();
73  virtual void FinishPrimary() { ; }
74  virtual void FinishRun() { ; }
75  virtual void BeginPrimary() { ; }
76  virtual void PostTrack() { ; }
77  virtual void PreTrack() { ; }
78  virtual void BeginEvent() { ; }
79 
80  virtual FairModule* CloneModule() const;
81 
82  private:
83  static FairTutorialDet2Geo* fgGeo;
84 
88  Int_t fTrackID;
89  Int_t fVolumeID;
90  TLorentzVector fPos;
91  TLorentzVector fMom;
92  Double32_t fTime;
93  Double32_t fLength;
94  Double32_t fELoss;
95 
98  TClonesArray* fFairTutorialDet2PointCollection;
99 
103  using Det2PointContainer = std::vector<CustomClass>;
104  Det2PointContainer* fCustomData;
105 
107  FairTutorialDet2& operator=(const FairTutorialDet2&);
108 
109  ClassDef(FairTutorialDet2, 1);
110 };
111 
112 #endif // FAIRTUTORIALDET_H
virtual void Register()
virtual void FinishRun()
virtual void PreTrack()
virtual FairModule * CloneModule() const
virtual void SetSpecialPhysicsCuts()
virtual void BeginEvent()
virtual ~FairTutorialDet2()
virtual void EndOfEvent()
virtual void BeginPrimary()
virtual TClonesArray * GetCollection(Int_t iColl) const
FairTutorialDet2Point * AddHit(Int_t trackID, Int_t detID, TVector3 pos, TVector3 mom, Double_t time, Double_t length, Double_t eLoss)
virtual void PostTrack()
virtual void Reset()
virtual void FinishPrimary()
virtual Bool_t ProcessHits(FairVolume *v=0)
virtual void Initialize()