FairRoot
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
NewDetector.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 NEWDETECTOR_H
9 #define NEWDETECTOR_H
10 
11 #include "FairDetector.h"
12 
13 #include <TLorentzVector.h>
14 #include <TVector3.h>
15 #include <vector>
16 
17 class NewDetectorPoint;
18 class FairVolume;
19 class TClonesArray;
20 
21 class NewDetector : public FairDetector
22 {
23  public:
28  NewDetector(const char* Name, bool Active);
29 
31  NewDetector();
32 
34  virtual ~NewDetector();
35 
37  virtual void Initialize();
38 
42  virtual Bool_t ProcessHits(FairVolume* v = 0);
43 
45  virtual void Register();
46 
48  virtual void Reset();
49 
51  void ConstructGeometry();
52 
57  AddHit(int trackID, int detID, TVector3 pos, TVector3 mom, double time, double length, double eLoss);
58 
63  virtual void SetSpecialPhysicsCuts() { ; }
64  virtual void EndOfEvent();
65  virtual void FinishPrimary() { ; }
66  virtual void FinishRun() { ; }
67  virtual void BeginPrimary() { ; }
68  virtual void PostTrack() { ; }
69  virtual void PreTrack() { ; }
70  virtual void BeginEvent() { ; }
71 
72  virtual FairModule* CloneModule() const;
73 
74  virtual Bool_t IsSensitive(const std::string& name);
75 
76  virtual TClonesArray* GetCollection(Int_t iColl) const { return NULL; }
77 
78  private:
82  Int_t fTrackID;
83  Int_t fVolumeID;
84  TLorentzVector fPos;
85  TLorentzVector fMom;
86  Double32_t fTime;
87  Double32_t fLength;
88  Double32_t fELoss;
89 
91  std::vector<NewDetectorPoint*>* fVectorPoints;
92 
93  NewDetector(const NewDetector&);
94  NewDetector& operator=(const NewDetector&);
95 
96  void DefineSensitiveVolumes();
97 
98  ClassDef(NewDetector, 2);
99 };
100 
101 #endif // NEWDETECTOR_H
virtual void PostTrack()
Definition: NewDetector.h:68
virtual void BeginPrimary()
Definition: NewDetector.h:67
virtual FairModule * CloneModule() const
virtual void Register()
virtual ~NewDetector()
Definition: NewDetector.cxx:72
virtual Bool_t ProcessHits(FairVolume *v=0)
Definition: NewDetector.cxx:94
virtual void EndOfEvent()
virtual void Initialize()
Definition: NewDetector.cxx:80
virtual void PreTrack()
Definition: NewDetector.h:69
virtual void Reset()
virtual void FinishPrimary()
Definition: NewDetector.h:65
virtual Bool_t IsSensitive(const std::string &name)
virtual TClonesArray * GetCollection(Int_t iColl) const
Definition: NewDetector.h:76
NewDetectorPoint * AddHit(Int_t trackID, Int_t detID, TVector3 pos, TVector3 mom, Double_t time, Double_t length, Double_t eLoss)
virtual void BeginEvent()
Definition: NewDetector.h:70
virtual void FinishRun()
Definition: NewDetector.h:66
void ConstructGeometry()
virtual void SetSpecialPhysicsCuts()
Definition: NewDetector.h:63