er  dev
ERND.h
1 /********************************************************************************
2  * Copyright (C) Joint Institute for Nuclear Research *
3  * *
4  * This software is distributed under the terms of the *
5  * GNU Lesser General Public Licence version 3 (LGPL) version 3, *
6  * copied verbatim in the file "LICENSE" *
7  ********************************************************************************/
8 
9 #ifndef ERND_H
10 #define ERND_H
11 
12 #include "ERDetector.h"
13 #include "ERNDPoint.h"
14 
15 #include "TLorentzVector.h"
16 
17 class TClonesArray;
18 class FairVolume;
19 class TF1;
20 
21 class ERND : public FairDetector {
22 public:
24  ERND();
30  ERND(const char* name, Bool_t active, Int_t verbose);
32  virtual ~ERND();
35  void SetMaxStep(Double_t step) {fStep = step;}
41  virtual Bool_t ProcessHits(FairVolume* vol = 0);
45  virtual void EndOfEvent();
47  virtual void Register();
49  virtual TClonesArray* GetCollection(Int_t iColl) const;
51  virtual void Print(Option_t* option="") const;
53  virtual void Reset();
58  virtual void CopyClones(TClonesArray* cl1, TClonesArray* cl2, Int_t offset);
60  virtual void ConstructGeometry();
62  virtual void Initialize();
68  virtual Bool_t CheckIfSensitive(std::string name);
69 private:
70  TClonesArray* fNDPoints = nullptr;
71  Double_t fStep = 1.;
72 private:
74  ERNDPoint* AddPoint(Int_t eventID, Int_t trackID,
75  Int_t mot0trackID,
76  Int_t pdg,
77  TVector3 posIn,
78  TVector3 pos_out, TVector3 momIn,
79  TVector3 momOut, Double_t time,
80  Double_t length, Double_t eLoss, Int_t stilbenNr,Float_t lightYield);
81  ClassDef(ERND,1);
82 };
83 
84 #endif
virtual Bool_t ProcessHits(FairVolume *vol=0)
Definition: ERND.cxx:49
virtual Bool_t CheckIfSensitive(std::string name)
Definition: ERND.cxx:206
virtual ~ERND()
Definition: ERND.cxx:37
virtual void EndOfEvent()
Definition: ERND.cxx:134
ERNDPoint * AddPoint(Int_t eventID, Int_t trackID, Int_t mot0trackID, Int_t pdg, TVector3 posIn, TVector3 pos_out, TVector3 momIn, TVector3 momOut, Double_t time, Double_t length, Double_t eLoss, Int_t stilbenNr, Float_t lightYield)
Max lengt of step of track propagetion in sensetive volume.
Definition: ERND.cxx:181
ERND()
Definition: ERND.cxx:19
Definition: ERND.h:21
virtual void Initialize()
Initialize ERND data.
Definition: ERND.cxx:44
virtual void Register()
Registers the point collection in the ROOT manager.
Definition: ERND.cxx:140
Double_t fStep
The point collection.
Definition: ERND.h:71
virtual void CopyClones(TClonesArray *cl1, TClonesArray *cl2, Int_t offset)
Definition: ERND.cxx:165
virtual TClonesArray * GetCollection(Int_t iColl) const
Accessor to the point collection.
Definition: ERND.cxx:147
void SetMaxStep(Double_t step)
Set propagation step in sensetive volumes. Special process stepLimiter must be in TG4RunConfiguration...
Definition: ERND.h:35
virtual void Reset()
Clears the point collection.
Definition: ERND.cxx:161
virtual void Print(Option_t *option="") const
Screen output of hit collection.
Definition: ERND.cxx:154
virtual void ConstructGeometry()
Constructs the ERND geometry.
Definition: ERND.cxx:195