ATTPCROOT  0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
AtSeGADigitizer.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 version 3 (LGPL) version 3, *
6  * copied verbatim in the file "LICENSE" *
7  ********************************************************************************/
8 
9 #ifndef ATSEGADIGITIZER_H
10 #define ATSEGADIGITIZER_H
11 
12 #include <FairTask.h>
13 
14 #include <Rtypes.h> // for Double_t, THashConsistencyHolder, Bool_t, Int_t
15 #include <TClonesArray.h>
16 
18 class TBuffer;
19 class TClass;
20 class TMemberInspector;
21 
22 class AtSeGADigitizer : public FairTask {
23 private:
24  TClonesArray *fMCPointDataCA;
25  TClonesArray fSeGACryCalDataCA;
27  Double_t fNonUniformity{0}; // Experimental non-uniformity parameter
28  Double_t fResolutionGe{0}; // Experimental resolution @ 1 MeV for Ge
29  Double_t fThreshold{0}; // Minimum energy requested to create a Cal
30 
31 public:
34 
37 
39  virtual InitStatus Init();
40 
42  virtual void Exec(Option_t *opt);
43 
45  virtual void EndOfEvent();
46 
48  virtual void Register();
49 
51  virtual void Reset();
52 
54  virtual void FinishEvent();
55 
56  virtual void SetParContainers();
57 
65  void SetRealConfig(Bool_t isRealSet);
66 
71  void SetExpEnergyRes(Double_t crystalResGe);
72 
79  void SetDetectionThreshold(Double_t thresholdEne);
80 
86  void SetNonUniformity(Double_t nonU);
87 
88  inline void ResetParameters(){};
89 
94  AtSeGACrystalCalData *AddCrystalCal(Int_t ident, Double_t energy, ULong64_t time);
95 
96 private:
97  void SetParameter();
104  Double_t NUSmearing(Double_t inputEnergy);
105 
116  Double_t ExpResSmearingGe(Double_t inputEnergy);
117 
118  Bool_t isGe(Int_t id);
119 
120  ClassDef(AtSeGADigitizer, 1);
121 };
122 
123 #endif
AtSeGADigitizer::SetParContainers
virtual void SetParContainers()
Definition: AtSeGADigitizer.cxx:44
AtSeGADigitizer::SetRealConfig
void SetRealConfig(Bool_t isRealSet)
AtSeGADigitizer::Exec
virtual void Exec(Option_t *opt)
Definition: AtSeGADigitizer.cxx:75
AtSeGADigitizer::Reset
virtual void Reset()
Definition: AtSeGADigitizer.cxx:160
AtSeGADigitizer::FinishEvent
virtual void FinishEvent()
Definition: AtSeGADigitizer.cxx:169
AtSeGADigitizer::Init
virtual InitStatus Init()
Definition: AtSeGADigitizer.cxx:55
AtSeGADigitizer::AddCrystalCal
AtSeGACrystalCalData * AddCrystalCal(Int_t ident, Double_t energy, ULong64_t time)
Definition: AtSeGADigitizer.cxx:177
AtSeGADigitizer::EndOfEvent
virtual void EndOfEvent()
Definition: AtSeGADigitizer.cxx:148
AtSeGACrystalCalData
Definition: AtSeGACrystalCalData.h:20
AtSeGADigitizer::SetExpEnergyRes
void SetExpEnergyRes(Double_t crystalResGe)
Definition: AtSeGADigitizer.cxx:189
AtSeGADigitizer::Register
virtual void Register()
Definition: AtSeGADigitizer.cxx:155
AtSeGADigitizer::~AtSeGADigitizer
~AtSeGADigitizer()
Definition: AtSeGADigitizer.cxx:37
AtSeGADigitizer
Definition: AtSeGADigitizer.h:22
AtSeGADigitizer::ResetParameters
void ResetParameters()
Definition: AtSeGADigitizer.h:88
AtSeGADigitizer::SetDetectionThreshold
void SetDetectionThreshold(Double_t thresholdEne)
Definition: AtSeGADigitizer.cxx:171
AtSeGADigitizer::SetNonUniformity
void SetNonUniformity(Double_t nonU)
Definition: AtSeGADigitizer.cxx:205
AtSeGADigitizer::AtSeGADigitizer
AtSeGADigitizer()
Definition: AtSeGADigitizer.cxx:32