PandaRoot
PndEmcShashlykTimebasedWaveforms.h
Go to the documentation of this file.
1 //----------------------------------------------------------------------
2 // Author List:
3 // Phil Strother Original author
4 // Dima Melnichuk - adaption for PANDA
5 // Philippp Mahlberg - integrtion in timebased simulation concept
6 // Guang Zhao - implementation for shashlyk
7 //----------------------------------------------------------------------
8 
9 //#pragma once
10 #ifndef PndEmcShashlykTimebasedWaveforms_H
11 #define PndEmcShashlykTimebasedWaveforms_H
12 
13 #include <PndPersistencyTask.h>
14 
15 class PndEmcMapper;
17 class PndEmcGeoPar;
23 class TClonesArray;
24 
25 #define MULTI
26 
36 {
37 public:
38  // Constructors
39  PndEmcShashlykTimebasedWaveforms(Int_t verbose=0, Bool_t storewaves=kFALSE);
40  // Destructor
42 
43  virtual InitStatus Init();
44  virtual void Exec(Option_t* opt);
45 
46  void RunTimebased(Bool_t timebased = kTRUE) { fActivateBuffering = timebased; }
47  void SetExternalSimulator(PndEmcAbsWaveformSimulator* simulator) { fExternalSimulator = simulator; }
48  void SetStorageOfData(Bool_t storeWaves = kTRUE) {SetPersistency(storeWaves);}
49  void StoreDataClass(Bool_t storeData = kTRUE) { fStoreDataClass = storeData; }
50  void RunTestMode(Double_t energy = 0.01) { fTestMode = kTRUE; fTestEnergy = energy; }
51 
52 protected:
54  virtual void SetParContainers();
55 
56 private:
57  // don't allow copying (-Weffc++)
59  PndEmcShashlykTimebasedWaveforms& operator= (const PndEmcShashlykTimebasedWaveforms&); // no implementation
60 
61 private:
62 
64  TClonesArray* fHitArray;
65 
67  PndEmcWaveformBuffer* fWaveformBuffer;
68 
69  Bool_t fStoreDataClass;
70  Bool_t fActivateBuffering;
71 
72  PndEmcShashlykDigiPar* fDigiPar;
73  PndEmcGeoPar* fGeoPar;
74 
75  Bool_t fUse_photon_statistic;
76  Double_t fNPhotoElectronsPerMeV;
77  Double_t fExcessNoiseFactor;
78  Double_t fSamplingFactor;
79 
80  PndEmcAbsWaveformSimulator* fExternalSimulator;
82 
83  Bool_t fTestMode;
84  Double_t fTestEnergy;
85 
87 };
88 
89 #endif
interface for waveform modifiers
void SetPersistency(Bool_t val=kTRUE)
Emc geometry mapper.
Definition: PndEmcMapper.h:22
Abstract base class for waveform simulator.
Taks to create waveforms from hits.
parameter set of Emc digitisation
PndEmcShashlykTimebasedWaveforms(Int_t verbose=0, Bool_t storewaves=kFALSE)
void SetExternalSimulator(PndEmcAbsWaveformSimulator *simulator)
pulseshape interface
buffer for waveforms, used by PndEmcFWEndcapTimebasedWaveforms
virtual void Exec(Option_t *opt)
void SetStorageOfData(Bool_t storeWaves=kTRUE)
Method to specify whether waveforms are stored or not.