PandaRoot
PndEmcBWEndcapDigi.h
Go to the documentation of this file.
1 //#pragma once
2 
3 #ifndef PNDEMCBWENDCAPDIGI_H_
4 #define PNDEMCBWENDCAPDIGI_H_
5 
6 #include <PndPersistencyTask.h>
10 
11 class PndEmcHit;
13 class PndEmcWaveform;
14 
15 class TClonesArray;
17 class PndEmcRecoPar;
18 class PndEmcGeoPar;
19 class PndEmcAbsPSA;
21 class PndEmcMultiPSA;
23 
33 {
34 public:
35  // Constructors
36  PndEmcBWEndcapDigi(Int_t verbose=0, Bool_t storedigis=kTRUE);
37  // Destructor
38  virtual ~PndEmcBWEndcapDigi();
39 
40  virtual InitStatus Init();
41  virtual void Exec(Option_t* opt);
42 
43  void SetStorageOfData(Bool_t val); // Method to specify whether digis are stored or not.
44 
46  fCalibrator = dynamic_cast<PndEmcSimCrystalCalibrator*>(Cal);
47  if (fCalibrator == nullptr) {
48  std::cerr << "-E- in PndEmcBWEndcapDigi::SetCrystalCalibrator: Calibrator must be a PndEmcSimCrystalCalibrator. External Calibrator setting has no effect" << std::endl;
49  }
50  };
51  void SingleAPDMode(Bool_t mode = kTRUE) { fSingleAPDMode = mode; }
52 
53 protected:
55  virtual void SetParContainers();
56 private:
57  // don't allow copying (-Weffc++)
58  PndEmcBWEndcapDigi(const PndEmcBWEndcapDigi&); // no implementation
59  PndEmcBWEndcapDigi& operator= (const PndEmcBWEndcapDigi&); // no implementation
60 
61 private:
62 
64  TClonesArray* fWaveformArray;
65 
67  TClonesArray* fDigiArray;
68 
69  Double_t fEnergyDigiThreshold;
70  TString fDigiPosMethod; //"surface" or "depth"
71  Double_t fEmcDigiRescaleFactor;
72  Double_t fEmcDigiPositionDepthPWO;
73  Double_t fEmcDigiPositionDepthShashlyk;
74 
75  PndEmcMultiPSA* fHighLowPSA;
76  PndEmcPSAOverflowCombinator* fCombinator;
77  PndEmcPSATmaxAnalyser* fHighgainPSA;
78  PndEmcPSATmaxAnalyser* fLowgainPSA;
79 
80  PndEmcSimCrystalCalibrator *fCalibrator;
81 
82  PndEmcBWEndcapDigiPar* fDigiPar;
83  PndEmcRecoPar* fRecoPar;
84  PndEmcGeoPar* fGeoPar;
85 
87  Int_t fVerbose;
88  Bool_t fSingleAPDMode;
89 
90  ClassDef(PndEmcBWEndcapDigi, 1)
91 };
92 
93 #endif
void SingleAPDMode(Bool_t mode=kTRUE)
virtual void SetParContainers()
PndEmcBWEndcapDigi(Int_t verbose=0, Bool_t storedigis=kTRUE)
Wrapping class to manage multiple independent PSAs.
stores crystal index coordinates (x,y) or (theta,phi)
parameter set of Emc digitisation
void SetStorageOfData(Bool_t val)
Class to simulate a Calibration.
Task to create digis from waveforms.
represents a simulated waveform in an emc crystal
Baseclass for pulseshapeanalysis ( featureextraction )
Definition: PndEmcAbsPSA.h:21
represents the deposited energy of one emc crystal from simulation
Definition: PndEmcHit.h:28
virtual void Exec(Option_t *opt)
pulseshape interface
virtual ~PndEmcBWEndcapDigi()
virtual InitStatus Init()
Abstract interface for a emc calibrator.
virtual void SetCrystalCalibrator(PndEmcAbsCrystalCalibrator *Cal)
Parameter set for Emc Reco.
Definition: PndEmcRecoPar.h:12