PandaRoot
PndEmcFWEndcapTimebasedWaveforms.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 //----------------------------------------------------------------------
7 
8 //#pragma once
9 #ifndef PndEmcFWEndcapTimebasedWaveforms_H
10 #define PndEmcFWEndcapTimebasedWaveforms_H
11 
12 #include <PndPersistencyTask.h>
13 
14 class PndEmcMapper;
16 class PndEmcGeoPar;
22 class TClonesArray;
23 
24 #define MULTI
25 
35  public:
36  // Constructors
37  PndEmcFWEndcapTimebasedWaveforms(Int_t verbose = 0, Bool_t storewaves = kFALSE);
38  // Destructor
40 
41  virtual InitStatus Init();
42  virtual void Exec(Option_t *opt);
43 
44  void RunTimebased(Bool_t timebased = kTRUE) { fActivateBuffering = timebased; };
45  void SetExternalSimulator(PndEmcAbsWaveformSimulator *simulator) { fExternalSimulator = simulator; }
46  void SetStorageOfData(Bool_t storeWaves = kTRUE) { SetPersistency(storeWaves); };
47  void StoreDataClass(Bool_t storeData = kTRUE) { fStoreDataClass = storeData; };
48  void SetNewWvShape(Bool_t newShape = kTRUE) { fnewShape = newShape; }; // Set a new waveform shape
49 
50  protected:
52  virtual void SetParContainers();
53 
54  private:
55  // don't allow copying (-Weffc++)
57  PndEmcFWEndcapTimebasedWaveforms &operator=(const PndEmcFWEndcapTimebasedWaveforms &); // no implementation
58 
59  private:
61  TClonesArray *fHitArray;
62 
64  PndEmcWaveformBuffer *fWaveformBuffer;
65 
66  Bool_t fStoreWaves;
67  Bool_t fnewShape;
68  Bool_t fStoreDataClass;
69  Bool_t fActivateBuffering;
70 
71  PndEmcFWEndcapDigiPar *fDigiPar;
72  PndEmcGeoPar *fGeoPar;
73 
74  Bool_t fUse_photon_statistic;
75  Double_t fNPhotoElectronsPerMeV;
76  Double_t fExcessNoiseFactor;
77  Double_t SumEnergyofhits;
78  Double_t fEnergyDigiThreshold;
79 
80  PndEmcAbsWaveformSimulator *fExternalSimulator;
81  PndEmcMultiWaveformSimulator *fAPD_LOWHIGH;
82  PndEmcAbsPulseshape *fPulseshape;
83 
85 };
86 
87 #endif
interface for waveform modifiers
void StoreDataClass(Bool_t storeData=kTRUE)
Method to specify whether waveforms are stored or not.
virtual void Exec(Option_t *opt)
Taks to create waveforms from hits.
void SetPersistency(Bool_t val=kTRUE)
Simulator to create PndEmcMultiWaveform.
Emc geometry mapper.
Definition: PndEmcMapper.h:22
void SetExternalSimulator(PndEmcAbsWaveformSimulator *simulator)
Abstract base class for waveform simulator.
parameter set for the FWEndcap variant of waveform simulation
pulseshape interface
buffer for waveforms, used by PndEmcFWEndcapTimebasedWaveforms
void SetStorageOfData(Bool_t storeWaves=kTRUE)
PndEmcFWEndcapTimebasedWaveforms(Int_t verbose=0, Bool_t storewaves=kFALSE)