27 #include "FairRootManager.h"
28 #include "FairRunAna.h"
29 #include "FairRuntimeDb.h"
32 #include "TStopwatch.h"
35 #include "TClonesArray.h"
48 fHitArray(NULL), fWaveformBuffer(NULL), fStoreDataClass(kFALSE), fActivateBuffering(kFALSE), fDigiPar(NULL), fGeoPar(NULL), fUse_photon_statistic(kFALSE), fNPhotoElectronsPerMeV(0), fExcessNoiseFactor(0.), fExternalSimulator(NULL), fAPD_LOWHIGH(NULL)
73 FairRootManager* ioman = FairRootManager::Instance();
75 cout <<
"-E- PndEmcFWEndcapTimebasedWaveforms::Init: "
76 <<
"RootManager not instantiated!" << endl;
81 fHitArray = (TClonesArray*) ioman->GetObject(
"EmcHit");
83 cout <<
"-W- PndEmcFWEndcapTimebasedWaveforms::Init: "
84 <<
"No EmcHit array!" << endl;
104 cout <<
"-E- PndEmcFWEndcapTimebasedWaveforms::Init: "
105 <<
"no DigiPar containter found" << endl;
126 const Double_t activeTimeIncrement=10;
164 FairRootManager* ioman = FairRootManager::Instance();
177 cout<<
"PndEmcFWEndcapTimebasedWaveforms:: Hit array contains " << nHits <<
" hits" <<endl;
180 for (Int_t iHit=0; iHit<
nHits; iHit++) {
209 energy *=photonStatFactor;
218 FairLink linkToHit(-1, ioman->GetEntryNr(),
"EmcHit", iHit, 1.0);
220 wfData.AddHit(linkToHit, ioman->GetEventTime() + theHit->
GetTime()*1.0e9, theHit->
GetEnergy());
228 cout <<
"PndEmcFWEndcapTimebasedWaveforms, Real time " << rtime <<
" s, CPU time " << ctime <<
" s" << endl;
236 FairRun*
run = FairRun::Instance();
237 if ( ! run ) Fatal(
"SetParContainers",
"No analysis run");
239 FairRuntimeDb* db = run->GetRuntimeDb();
240 if ( ! db ) Fatal(
"SetParContainers",
"No runtime database");
Double_t GetEnergyRangeLow()
friend F32vec4 sqrt(const F32vec4 &a)
Double_t GetPulseshapeN()
Double_t GetQuantumEfficiencyAPD()
void SetPersistency(Bool_t val=kTRUE)
Double_t GetTimeBeforeHit()
parameter set for the FWEndcap variant of waveform simulation
virtual Double_t GetEnergy() const
Int_t GetUse_photon_statistic()
Double_t GetPulseshapeTau()
Experimentally derived Pulseshape.
Double_t GetNoiseWidthHigh()
virtual Double_t GetTime() const
represents the deposited energy of one emc crystal from simulation
Double_t GetTimeAfterHit()
Double_t GetWfCutOffEnergy()
Double_t GetSensitiveAreaAPD()
Double_t GetEnergyRangeHigh()
Double_t GetDetectedPhotonsPerMeV()
Double_t GetNoiseWidthLow()
static PndEmcStructure * Instance()
Short_t GetModule() const
Double_t GetExcessNoiseFactorAPD()
waveform modifier to add noise to waveform