PandaRoot
PndEmcShashlykDigi.h
Go to the documentation of this file.
1 //#pragma once
2 
3 #ifndef PNDEMCSHASHLYKDIGI_H_
4 #define PNDEMCSHASHLYKDIGI_H_
5 
6 #include <PndPersistencyTask.h>
9 
10 
11 
12 class PndEmcHit;
14 class PndEmcWaveform;
15 
16 class TClonesArray;
18 class PndEmcRecoPar;
19 class PndEmcGeoPar;
20 class PndEmcAbsPSA;
23 
33 {
34 public:
35  // Constructors
36  PndEmcShashlykDigi(Int_t verbose=0, Bool_t storedigis=kTRUE);
37  // Destructor
38  virtual ~PndEmcShashlykDigi();
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==NULL) {
48  std::cerr << "-E- in PndEmcShashlykDigi::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  PndEmcShashlykDigi(const PndEmcShashlykDigi&); // no implementation
59  PndEmcShashlykDigi& operator= (const PndEmcShashlykDigi&); // 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  PndEmcPSAOptimalFilterAnalyser* fOFAnalyser;
76 
77  PndEmcSimCrystalCalibrator *fCalibrator;
78 
79  PndEmcShashlykDigiPar* fDigiPar;
80  PndEmcRecoPar* fRecoPar;
81  PndEmcGeoPar* fGeoPar;
82 
84  Int_t fVerbose;
85  Bool_t fSingleAPDMode;
86 
87  ClassDef(PndEmcShashlykDigi, 1)
88 };
89 
90 #endif
void SingleAPDMode(Bool_t mode=kTRUE)
stores crystal index coordinates (x,y) or (theta,phi)
PndEmcShashlykDigi(Int_t verbose=0, Bool_t storedigis=kTRUE)
virtual void SetCrystalCalibrator(PndEmcAbsCrystalCalibrator *Cal)
void SetStorageOfData(Bool_t val)
virtual ~PndEmcShashlykDigi()
parameter set of Emc digitisation
Class to simulate a Calibration.
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
pulseshape interface
virtual void Exec(Option_t *opt)
virtual InitStatus Init()
Task to create digis from waveforms.
Abstract interface for a emc calibrator.
virtual void SetParContainers()
Parameter set for Emc Reco.
Definition: PndEmcRecoPar.h:13