PandaRoot
IdealTubeDetector.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 IDEALTUBEDETECTOR_H
9 #define IDEALTUBEDETECTOR_H
10 
11 #include "FairDetector.h" // for FairDetector
12 
13 #include <Rtypes.h> // for Int_t, Double32_t, Double_t, etc
14 #include <TLorentzVector.h> // for TLorentzVector
15 #include <TVector3.h> // for TVector3
16 
17 class FairVolume;
18 class TClonesArray;
19 class FairModule;
20 class FairMCPoint;
21 
22 class IdealTubeDetector : public FairDetector {
23 
24  public:
29  IdealTubeDetector(const char *Name, Bool_t Active);
30 
33 
35  virtual ~IdealTubeDetector();
36 
38  virtual void Initialize();
39 
43  virtual Bool_t ProcessHits(FairVolume *v = 0);
44 
46  virtual void Register();
47 
49  virtual TClonesArray *GetCollection(Int_t iColl) const;
50 
52  virtual void Reset();
53 
55  void ConstructGeometry();
56 
60  FairMCPoint *AddHit(Int_t trackID, Int_t detID, TVector3 pos, TVector3 mom, Double_t time, Double_t length, Double_t eLoss);
61 
66  // virtual void CopyClones( TClonesArray* cl1, TClonesArray* cl2 ,
67  // Int_t offset) {;}
68  virtual void SetSpecialPhysicsCuts() { ; }
69  virtual void EndOfEvent();
70  virtual void FinishPrimary() { ; }
71  virtual void FinishRun() { ; }
72  virtual void BeginPrimary() { ; }
73  virtual void PostTrack() { ; }
74  virtual void PreTrack() { ; }
75  virtual void BeginEvent() { ; }
76 
77  virtual FairModule *CloneModule() const;
78 
79  virtual Bool_t IsSensitive(const std::string &name);
80 
81  private:
85  Int_t fTrackID;
86  Int_t fVolumeID;
87  TLorentzVector fPos;
88  TLorentzVector fMom;
89  Double32_t fTime;
90  Double32_t fLength;
91  Double32_t fELoss;
92 
95  TClonesArray *fIdealTubeDetectorPointCollection;
96 
98  IdealTubeDetector &operator=(const IdealTubeDetector &);
99 
100  ClassDef(IdealTubeDetector, 1);
101 };
102 
103 #endif // FAIRTUTORIALDET_H
virtual void FinishRun()
virtual void SetSpecialPhysicsCuts()
virtual ~IdealTubeDetector()
virtual void PostTrack()
virtual TClonesArray * GetCollection(Int_t iColl) const
void ConstructGeometry()
__m128 v
Definition: P4_F32vec4.h:3
virtual void Initialize()
virtual void Register()
virtual void PreTrack()
virtual FairModule * CloneModule() const
virtual void BeginEvent()
virtual void EndOfEvent()
FairMCPoint * AddHit(Int_t trackID, Int_t detID, TVector3 pos, TVector3 mom, Double_t time, Double_t length, Double_t eLoss)
virtual void BeginPrimary()
virtual void FinishPrimary()
virtual void Reset()
virtual Bool_t ProcessHits(FairVolume *v=0)
virtual Bool_t IsSensitive(const std::string &name)