PandaRoot
IdealTubeDetector.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 
13 /********************************************************************************
14  * Copyright (C) 2014 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH *
15  * *
16  * This software is distributed under the terms of the *
17  * GNU Lesser General Public Licence (LGPL) version 3, *
18  * copied verbatim in the file "LICENSE" *
19  ********************************************************************************/
20 #ifndef IDEALTUBEDETECTOR_H
21 #define IDEALTUBEDETECTOR_H
22 
23 #include "FairDetector.h" // for FairDetector
24 
25 #include <Rtypes.h> // for Int_t, Double32_t, Double_t, etc
26 #include <TLorentzVector.h> // for TLorentzVector
27 #include <TVector3.h> // for TVector3
28 
29 class FairVolume;
30 class TClonesArray;
31 class FairModule;
32 class FairMCPoint;
33 
34 class IdealTubeDetector : public FairDetector {
35 
36  public:
41  IdealTubeDetector(const char *Name, Bool_t Active);
42 
45 
47  virtual ~IdealTubeDetector();
48 
50  virtual void Initialize();
51 
55  virtual Bool_t ProcessHits(FairVolume *v = 0);
56 
58  virtual void Register();
59 
61  virtual TClonesArray *GetCollection(Int_t iColl) const;
62 
64  virtual void Reset();
65 
67  void ConstructGeometry();
68 
72  FairMCPoint *AddHit(Int_t trackID, Int_t detID, TVector3 pos, TVector3 mom, Double_t time, Double_t length, Double_t eLoss);
73 
78  // virtual void CopyClones( TClonesArray* cl1, TClonesArray* cl2 ,
79  // 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  virtual FairModule *CloneModule() const;
90 
91  virtual Bool_t IsSensitive(const std::string &name);
92 
93  private:
97  Int_t fTrackID;
98  Int_t fVolumeID;
99  TLorentzVector fPos;
100  TLorentzVector fMom;
101  Double32_t fTime;
102  Double32_t fLength;
103  Double32_t fELoss;
104 
107  TClonesArray *fIdealTubeDetectorPointCollection;
108 
110  IdealTubeDetector &operator=(const IdealTubeDetector &);
111 
112  ClassDef(IdealTubeDetector, 1);
113 };
114 
115 #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:15
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)