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 
16 class NewDetectorPoint;
17 class FairVolume;
18 class TClonesArray;
19 
20 class NewDetector : public FairDetector
21 {
22 
23  public:
28  NewDetector(const char* Name, Bool_t 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 TClonesArray* GetCollection(Int_t iColl) const;
49 
51  virtual void Reset();
52 
54  void ConstructGeometry();
55 
60  AddHit(Int_t trackID, Int_t detID, TVector3 pos, TVector3 mom, Double_t time, Double_t length, Double_t eLoss);
61 
66  virtual void SetSpecialPhysicsCuts() { ; }
67  virtual void EndOfEvent();
68  virtual void FinishPrimary() { ; }
69  virtual void FinishRun() { ; }
70  virtual void BeginPrimary() { ; }
71  virtual void PostTrack() { ; }
72  virtual void PreTrack() { ; }
73  virtual void BeginEvent() { ; }
74 
75  virtual FairModule* CloneModule() const;
76 
77  virtual Bool_t IsSensitive(const std::string& name);
78 
79  private:
83  Int_t fTrackID;
84  Int_t fVolumeID;
85  TLorentzVector fPos;
86  TLorentzVector fMom;
87  Double32_t fTime;
88  Double32_t fLength;
89  Double32_t fELoss;
90 
93  TClonesArray* fNewDetectorPointCollection;
94 
95  NewDetector(const NewDetector&);
96  NewDetector& operator=(const NewDetector&);
97 
98  void DefineSensitiveVolumes();
99 
100  ClassDef(NewDetector, 2);
101 };
102 
103 #endif // NEWDETECTOR_H
virtual void PostTrack()
Definition: NewDetector.h:71
virtual void BeginPrimary()
Definition: NewDetector.h:70
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:72
virtual void Reset()
virtual void FinishPrimary()
Definition: NewDetector.h:68
virtual Bool_t IsSensitive(const std::string &name)
virtual TClonesArray * GetCollection(Int_t iColl) const
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:73
virtual void FinishRun()
Definition: NewDetector.h:69
void ConstructGeometry()
virtual void SetSpecialPhysicsCuts()
Definition: NewDetector.h:66