er  dev
ERBeamDetDigitizer.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 ERBeamDetDigitizer_H
10 #define ERBeamDetDigitizer_H
11 
12 #include "TClonesArray.h"
13 
14 #include "ERDigitizer.h"
15 #include "ERBeamDetMWPCPoint.h"
16 #include "ERBeamDetTOFPoint.h"
17 #include "ERDigi.h"
18 #include "ERSupport.h"
19 
33 public:
38  ERBeamDetDigitizer(Int_t verbose);
40  virtual ~ERBeamDetDigitizer() = default;
44  void SetToFElossThreshold(Float_t treshold){fToFElossThreshold = treshold;}
47  void SetMWPCElossThreshold(Float_t treshold){fMWPCElossThreshold = treshold;}
50  void SetToFElossSigma(Float_t sigma) {fElossSigmaToF = sigma;}
53  void SetMWPCElossSigma(Float_t sigma) {fElossSigmaMWPC = sigma;}
56  void SetToFTimeSigma(Float_t sigma) {fTimeSigmaToF = sigma;}
59  void SetMWPCTimeSigma(Float_t sigma) {fTimeSigmaMWPC = sigma;}
65  void SetToFElossSigmaOverEloss(Float_t a) {
67  fSigmaEOverEToFIsSet = kTRUE;
68  }
69 public:
73  virtual InitStatus Init();
77  virtual void Exec(Option_t* opt);
79  virtual void Reset();
80 protected:
82  ERDigi* AddMWPCDigi(float edep, float time, int mwpcNb, int planeNb, ERChannel wireNb);
84  ERDigi* AddToFDigi(float edep, float time, int tofNb);
85 protected:
86  //Input arrays
87  TClonesArray* fBeamDetToFPoints = nullptr;
88  TClonesArray* fBeamDetMWPCPoints = nullptr;
89  //Output arrays
90  TClonesArray* fBeamDetToFDigi1 = nullptr;
91  TClonesArray* fBeamDetToFDigi2 = nullptr;
92  TClonesArray* fBeamDetMWPCDigiX1 = nullptr;
95  TClonesArray* fBeamDetMWPCDigiX2 = nullptr;
97  TClonesArray* fBeamDetMWPCDigiY1 = nullptr;
99  TClonesArray* fBeamDetMWPCDigiY2 = nullptr;
100  Float_t fElossSigmaOverElossToF = 0.;
101  Float_t fElossSigmaToF = 0.;
102  Float_t fTimeSigmaToF = 0.;
103  Float_t fElossSigmaMWPC = 0.;
104  Float_t fTimeSigmaMWPC = 0.;
105  Float_t fToFElossThreshold = 0.;
106  Float_t fMWPCElossThreshold = 0.;
107  Bool_t fSigmaEOverEToFIsSet = kFALSE;
108 private:
109  ClassDef(ERBeamDetDigitizer,1)
110 };
111 
112 #endif
void SetToFElossSigmaOverEloss(Float_t a)
Sets standart deviation for time values in MWPC wires. Sigma for each summary energy losses is define...
Definition: ERDigi.h:15
Float_t fToFElossThreshold
energy losses thershold in ToF
Class for convertion simulation data to format like real detector data.
Float_t fElossSigmaOverElossToF
parameter of spreading energy losses
void SetToFElossThreshold(Float_t treshold)
Sets energy threshold for ToF plastics.
ERDigi * AddToFDigi(float edep, float time, int tofNb)
Adds a digi to the output Collections.
TClonesArray * fBeamDetToFPoints
input collection of ToF points
virtual void Exec(Option_t *opt)
Defines the transformation actions for all input data (Point) to output data (Digi) for each event...
virtual InitStatus Init()
Defines all input and output object colletions participates in digitization.
Float_t fMWPCElossThreshold
energy losses thershold in MWPC
Float_t fElossSigmaToF
standart deviation of energy losses in ToF
ERDigi * AddMWPCDigi(float edep, float time, int mwpcNb, int planeNb, ERChannel wireNb)
Adds a digi to the output Collections.
Bool_t fSigmaEOverEToFIsSet
true if SetToFElossSigmaOverEloss is set
virtual void Reset()
Resets all output data.
void SetMWPCTimeSigma(Float_t sigma)
Sets standart deviation for time values in MWPC wires.
void SetToFTimeSigma(Float_t sigma)
Sets standart deviation for time values in ToF plastics.
Float_t fElossSigmaMWPC
standart deviation of energy losses in MWPC
TClonesArray * fBeamDetMWPCPoints
input collection of MWPC points
TClonesArray * fBeamDetMWPCDigiY1
output collection of Digi in second gas strip array in first MWPC station
void SetToFElossSigma(Float_t sigma)
Sets standart deviation for energy losses in ToF plastics.
TClonesArray * fBeamDetToFDigi1
output collection of Digi in first plastic
TClonesArray * fBeamDetMWPCDigiY2
output collection of Digi in second gas strip array in second MWPC station
Float_t fTimeSigmaToF
standart deviation of time in ToF
void SetMWPCElossThreshold(Float_t treshold)
Sets energy threshold for MWPC wires.
Float_t fTimeSigmaMWPC
standart deviation of time in MWPC
ERBeamDetDigitizer()
Default constructor.
TClonesArray * fBeamDetMWPCDigiX1
output collection of Digi in first gas strip array in first MWPC station
virtual ~ERBeamDetDigitizer()=default
Destructor.
TClonesArray * fBeamDetMWPCDigiX2
output collection of Digi in first gas strip array in second MWPC station
TClonesArray * fBeamDetToFDigi2
void SetMWPCElossSigma(Float_t sigma)
Sets standart deviation for energy losses in MWPC wires.