FairRoot
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
FairRutherford.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 CBMRUTHERFORD_H
9 #define CBMRUTHERFORD_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 
18 class FairRutherfordGeo;
19 class FairVolume;
20 class TClonesArray;
21 class FairModule;
22 
24 {
25  public:
30  FairRutherford(const char* Name, Bool_t Active);
31 
34 
36  virtual ~FairRutherford();
37 
39  virtual void Initialize();
40 
44  virtual Bool_t ProcessHits(FairVolume* v = 0);
45 
47  virtual void Register();
48 
50  virtual TClonesArray* GetCollection(Int_t iColl) const;
51 
53  virtual void Reset();
54 
56  void ConstructGeometry();
57 
62  AddHit(Int_t trackID, Int_t detID, TVector3 pos, TVector3 mom, Double_t time, Double_t length, Double_t eLoss);
63 
68  // virtual void CopyClones( TClonesArray* cl1, TClonesArray* cl2 ,
69  // Int_t offset) {;}
70  virtual void SetSpecialPhysicsCuts() {}
71  virtual void EndOfEvent();
72  virtual void FinishPrimary() {}
73  virtual void FinishRun() {}
74  virtual void BeginPrimary() {}
75  virtual void PostTrack() {}
76  virtual void PreTrack() {}
77  virtual void BeginEvent() {}
78 
79  virtual FairModule* CloneModule() const;
80 
81  private:
82  static FairRutherfordGeo* fgGeo;
83 
87  Int_t fTrackID;
88  Int_t fVolumeID;
89  TLorentzVector fPos;
90  TLorentzVector fMom;
91  Double32_t fTime;
92  Double32_t fLength;
93  Double32_t fELoss;
94 
97  TClonesArray* fFairRutherfordPointCollection;
98 
100  FairRutherford& operator=(const FairRutherford&);
101 
102  ClassDef(FairRutherford, 1);
103 };
104 
105 #endif // CBMRUTHERFORD_H
virtual void BeginPrimary()
virtual void Reset()
virtual void EndOfEvent()
FairRutherfordPoint * AddHit(Int_t trackID, Int_t detID, TVector3 pos, TVector3 mom, Double_t time, Double_t length, Double_t eLoss)
virtual void FinishPrimary()
virtual void SetSpecialPhysicsCuts()
virtual TClonesArray * GetCollection(Int_t iColl) const
virtual void BeginEvent()
virtual Bool_t ProcessHits(FairVolume *v=0)
virtual void PostTrack()
virtual void Register()
virtual void FinishRun()
virtual void PreTrack()
virtual FairModule * CloneModule() const
virtual void Initialize()
virtual ~FairRutherford()