FairRoot/PandaRoot
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
PndEmcFWEndcapTimebasedWaveforms Class Reference

Taks to create waveforms from hits. More...

#include <PndEmcFWEndcapTimebasedWaveforms.h>

Inheritance diagram for PndEmcFWEndcapTimebasedWaveforms:
PndPersistencyTask

Public Member Functions

 PndEmcFWEndcapTimebasedWaveforms (Int_t verbose=0, Bool_t storewaves=kFALSE)
 
virtual ~PndEmcFWEndcapTimebasedWaveforms ()
 
virtual InitStatus Init ()
 Init Task. More...
 
virtual void Exec (Option_t *opt)
 Runs the task. More...
 
void RunTimebased (Bool_t timebased=kTRUE)
 
void SetExternalSimulator (PndEmcAbsWaveformSimulator *simulator)
 
void SetStorageOfData (Bool_t storeWaves=kTRUE)
 
void StoreDataClass (Bool_t storeData=kTRUE)
 Method to specify whether waveforms are stored or not. More...
 
void SetPersistency (Bool_t val=kTRUE)
 
Bool_t GetPersistency ()
 

Protected Member Functions

virtual void SetParContainers ()
 

Private Member Functions

 PndEmcFWEndcapTimebasedWaveforms (const PndEmcFWEndcapTimebasedWaveforms &)
 
PndEmcFWEndcapTimebasedWaveformsoperator= (const PndEmcFWEndcapTimebasedWaveforms &)
 
 ClassDef (PndEmcFWEndcapTimebasedWaveforms, 2)
 

Private Attributes

TClonesArray * fHitArray
 
PndEmcWaveformBufferfWaveformBuffer
 
Bool_t fStoreDataClass
 
Bool_t fActivateBuffering
 
PndEmcFWEndcapDigiParfDigiPar
 Digitisation parameter container. More...
 
PndEmcGeoParfGeoPar
 Geometry parameter container. More...
 
Bool_t fUse_photon_statistic
 
Double_t fNPhotoElectronsPerMeV
 
Double_t fExcessNoiseFactor
 
PndEmcAbsWaveformSimulatorfExternalSimulator
 
PndEmcMultiWaveformSimulatorfAPD_LOWHIGH
 

Detailed Description

Taks to create waveforms from hits.

This is an alternative to PndEmcHitsToWaveform, which despite its name could be used for all the EMC, not just FwEndcap.

Author
Ph. Mahlberg mahlb.nosp@m.erg@.nosp@m.hiskp.nosp@m..uni.nosp@m.-bonn.nosp@m..de

Definition at line 34 of file PndEmcFWEndcapTimebasedWaveforms.h.

Constructor & Destructor Documentation

PndEmcFWEndcapTimebasedWaveforms::PndEmcFWEndcapTimebasedWaveforms ( Int_t  verbose = 0,
Bool_t  storewaves = kFALSE 
)

Definition at line 46 of file PndEmcFWEndcapTimebasedWaveforms.cxx.

References PndPersistencyTask::SetPersistency().

46  :
47  PndPersistencyTask("PndEmcFWEndcapTimebasedWaveforms", verbose),
49 {
50  SetPersistency(storewaves);
51 }
#define verbose
void SetPersistency(Bool_t val=kTRUE)
PndEmcFWEndcapDigiPar * fDigiPar
Digitisation parameter container.
PndEmcGeoPar * fGeoPar
Geometry parameter container.
PndEmcFWEndcapTimebasedWaveforms::~PndEmcFWEndcapTimebasedWaveforms ( )
virtual

Definition at line 56 of file PndEmcFWEndcapTimebasedWaveforms.cxx.

57 {
58 }
PndEmcFWEndcapTimebasedWaveforms::PndEmcFWEndcapTimebasedWaveforms ( const PndEmcFWEndcapTimebasedWaveforms )
private

Member Function Documentation

PndEmcFWEndcapTimebasedWaveforms::ClassDef ( PndEmcFWEndcapTimebasedWaveforms  ,
 
)
private
void PndEmcFWEndcapTimebasedWaveforms::Exec ( Option_t *  opt)
virtual

Runs the task.

Uses the waveform simulator (PndEmcAbsWaveformSimulator) to generate a waveform from the hit and fill the buffer (PndEmcWaveformBuffer).

Parameters
optunused
Returns
void

Definition at line 162 of file PndEmcFWEndcapTimebasedWaveforms.cxx.

References ctime, Double_t, energy, fAPD_LOWHIGH, fExcessNoiseFactor, fExternalSimulator, fHitArray, PndEmcWaveformBuffer::FillNewData(), fNPhotoElectronsPerMeV, fUse_photon_statistic, fVerbose, fWaveformBuffer, PndEmcHit::GetEnergy(), PndEmcHit::GetModule(), PndEmcHit::GetTime(), nHits, rtime, sqrt(), and timer.

163 {
164  FairRootManager* ioman = FairRootManager::Instance();
165 
166  TStopwatch timer;
167  if (fVerbose>0){
168  timer.Start();
169  }
170 
171  // Variable declaration
172  PndEmcHit* theHit = NULL;
173 
174  // Loop over PndEmcHits to add them to correspondent waveforms
175  Int_t nHits = fHitArray->GetEntriesFast();
176  if (fVerbose>2) {
177  cout<< "PndEmcFWEndcapTimebasedWaveforms:: Hit array contains " << nHits << " hits" <<endl;
178  }
179 
180  for (Int_t iHit=0; iHit<nHits; iHit++) {
181 
182  theHit = dynamic_cast<PndEmcHit*>(fHitArray->At(iHit));
183 
184  if(theHit->GetModule() > 5 ) continue; //tackles invalid PndEmcHit inforamtion (valid module number = seq 1 5
185 
186  // select wf Simulator..
187  // TODO Add realistic description for other emc modules and make simulator choice module dependent
188  // switch(theHit->GetModule() {
189  // case 1: wfSimulator = ...
190  // case 2: wfSimulator = ...
191  // case 3: wfSimulator = ...
192  // case 4: wfSimulator = ...
193  // case 5: wfSimulator = ...
194  // default: continue;
195  // }
196  PndEmcAbsWaveformSimulator* wfSimulator = NULL;
197 
198  if(fExternalSimulator) {
199  wfSimulator = fExternalSimulator;
200  } else {
201  wfSimulator = fAPD_LOWHIGH;
202  };
203 
204  Double_t energy = theHit->GetEnergy();
205 
207  Double_t crystalPhotonsMeV = 1.0e3 * energy * fNPhotoElectronsPerMeV;
208  Double_t photonStatFactor = gRandom->Gaus(1,sqrt(fExcessNoiseFactor/crystalPhotonsMeV));
209  energy *=photonStatFactor;
210  }
211 
212  //Double_t eventTime = ioman->GetEventTime(); //[R.K. 01/2017] unused variable?
213 
214  // construct corresponding waveform data Object
215  PndEmcWaveformData wfData(theHit->GetDetectorID(), wfSimulator);
216 
217  //register hit...timebased framework uses ns, whereas emc deals with seconds as time unit
218  FairLink linkToHit(-1, ioman->GetEntryNr(), "EmcHit", iHit, 1.0);
219  // std::cout << "-I- PndEmcFWEndcapTimebasedWaveforms::Exec eventTIme: " << ioman->GetEventTime() << " hit Time: " << theHit->GetTime()*1.0e9 << std::endl;
220  wfData.AddHit(linkToHit, ioman->GetEventTime() + theHit->GetTime()*1.0e9, theHit->GetEnergy());
221 
222  fWaveformBuffer->FillNewData(&wfData);
223 
224  if (fVerbose>1){
225  timer.Stop();
226  Double_t rtime = timer.RealTime();
227  Double_t ctime = timer.CpuTime();
228  cout << "PndEmcFWEndcapTimebasedWaveforms, Real time " << rtime << " s, CPU time " << ctime << " s" << endl;
229  }
230  }
231 }
int fVerbose
Definition: poormantracks.C:24
friend F32vec4 sqrt(const F32vec4 &a)
Definition: P4_F32vec4.h:29
Abstract base class for waveform simulator.
int nHits
Definition: RiemannTest.C:16
Double_t
virtual Double_t GetEnergy() const
Definition: PndEmcHit.h:54
TStopwatch timer
Definition: hit_dirc.C:51
Double_t ctime
Definition: hit_dirc.C:114
virtual Double_t GetTime() const
Definition: PndEmcHit.h:55
represents the deposited energy of one emc crystal from simulation
Definition: PndEmcHit.h:26
virtual void FillNewData(PndEmcWaveformData *)
represents a simulated waveform in an emc crystal, used by PndEmcFWEndcapTimebasedWaveforms ...
Double_t rtime
Definition: hit_dirc.C:113
Short_t GetModule() const
Definition: PndEmcHit.h:58
Double_t energy
Definition: plot_dirc.C:15
Bool_t PndPersistencyTask::GetPersistency ( )
inlineinherited

Definition at line 32 of file PndPersistencyTask.h.

References PndPersistencyTask::fPersistency.

Referenced by PndLmdPixelHitProducerFast::GetPersistance(), PndMdtDigitization::Init(), PndMdtHitProducerIdeal::Init(), PndMdtClusterTask::Init(), PndFtsHitProducerRealFast::Init(), PndRichHitProducer::Init(), PndSttHitProducerRealFast::Init(), PndDiscTaskReconstruction::Init(), PndSttHelixHitProducer::Init(), PndDiscTaskPID::Init(), PndIdealTrackFinder::Init(), PndSttMvdGemTracking::Init(), PndMdtTrkProducer::Init(), PndFtsHitProducerRealFull::Init(), PndLmdPixelClusterTask::Init(), PndSttHitProducerRealFull::Init(), PndLmdStripClusterTask::Init(), PndEmcApdHitProducer::Init(), PndMissingPzCleanerTask::Init(), PndEmcMakeRecoHit::Init(), PndEmcMakeClusterOnline::Init(), PndTrackSmearTask::Init(), Init(), PndSttHitProducerIdeal::Init(), PndEmcFWEndcapDigi::Init(), PndFtsHitProducerIdeal::Init(), PndEmcMakeCluster::Init(), PndMdtPointsToWaveform::Init(), PndDiscTaskDigitization::Init(), PndEmcMakeDigi::Init(), PndSdsTimeWalkCorrTask::Init(), PndLmdPixelHitProducerFast::Init(), PndDrcHitFinder::Init(), PndRichHitFinder::Init(), PndEmcMakeCorr::Init(), PndFtofHitProducerIdeal::Init(), PndEmcHitsToWaveform::Init(), PndSciTDigiTask::Init(), PndDrcHitProducerIdeal::Init(), PndSdsHitProducerIdeal::Init(), PndSciTHitProducerIdeal::Init(), PndRecoMultiKalmanTask2::Init(), PndEmcHitProducer::Init(), PndDrcHitProducerReal::Init(), PndDskFLGHitProducerIdeal::Init(), PndEmcTmpWaveformToDigi::Init(), PndDrcDigiTask::Init(), PndEmcWaveformToDigi::Init(), PndSttMatchTracks::Init(), PndEmcWaveformToCalibratedDigi::Init(), PndTrkTracking2::Init(), PndSttFindTracks::Init(), PndEmcMultiWaveformToCalibratedDigi::Init(), PndRecoKalmanTask2::Init(), PndDrcTimeDigiTask::Init(), PndEmcExpClusterSplitter::Init(), PndFtsHoughTrackerTask::Init(), PndSdsNoiseProducer::Init(), PndEmcPhiBumpSplitter::Init(), PndSdsIdealRecoTask::Init(), PndSdsHybridHitProducer::Init(), PndRecoMultiKalmanTask::Init(), PndSdsIdealClusterTask::Init(), PndRecoKalmanTask::Init(), PndSdsStripHitProducerDif::Init(), PndGemDigitize::Init(), PndSdsStripHitProducer::Init(), PndGemFindHits::Init(), PndSdsPixelClusterTask::Init(), PndSdsStripClusterTask::Init(), PndMvdGemTrackFinderOnHits::Init(), PndBarrelTrackFinder::Init(), PndEmcFullDigiTask::PndEmcFullDigiTask(), PndEmcMakeBump::PndEmcMakeBump(), PndUnassignedHitsTask::RegisterBranches(), PndMvdClusterTask::SetPersistance(), PndMvdDigiTask::SetPersistance(), PndEmcMakeBump::SetStorageOfData(), and PndEmcFullDigiTask::StoreDigi().

32 { return fPersistency; }
InitStatus PndEmcFWEndcapTimebasedWaveforms::Init ( )
virtual

Init Task.

Prepares the TClonesArray of PndEmcHit for reading and PndEmcMultiWaveform for writing. Also reads the EMC parameters and prepares the waveform simulator (PndEmcMultiWaveformSimulator).

Returns
InitStatus
Return values
kSUCCESSsuccess

Definition at line 70 of file PndEmcFWEndcapTimebasedWaveforms.cxx.

References PndEmcMultiWaveformSimulator::AddModifier(), Double_t, fActivateBuffering, fAPD_LOWHIGH, fDigiPar, fExcessNoiseFactor, fGeoPar, fHitArray, fNPhotoElectronsPerMeV, fStoreDataClass, fUse_photon_statistic, fWaveformBuffer, PndEmcFWEndcapDigiPar::GetDetectedPhotonsPerMeV(), PndEmcFWEndcapDigiPar::GetEnergyRangeHigh(), PndEmcFWEndcapDigiPar::GetEnergyRangeLow(), PndEmcFWEndcapDigiPar::GetExcessNoiseFactorAPD(), PndEmcFWEndcapDigiPar::GetNBits(), PndEmcFWEndcapDigiPar::GetNoiseWidthHigh(), PndEmcFWEndcapDigiPar::GetNoiseWidthLow(), PndPersistencyTask::GetPersistency(), PndEmcFullStackedWaveformSimulator::GetPulseRiseTime(), PndEmcFWEndcapDigiPar::GetPulseshapeN(), PndEmcFWEndcapDigiPar::GetPulseshapeTau(), PndEmcFWEndcapDigiPar::GetQuantumEfficiencyAPD(), PndEmcFWEndcapDigiPar::GetSampleRate(), PndEmcFWEndcapDigiPar::GetSensitiveAreaAPD(), PndEmcFWEndcapDigiPar::GetTimeAfterHit(), PndEmcFWEndcapDigiPar::GetTimeBeforeHit(), PndEmcMultiWaveformSimulator::GetTotalScale(), PndEmcFWEndcapDigiPar::GetUse_photon_statistic(), PndEmcFWEndcapDigiPar::GetWfCutOffEnergy(), PndEmcFullStackedWaveformSimulator::Init(), PndEmcGeoPar::InitEmcMapper(), PndEmcStructure::Instance(), and PndEmcWaveformBuffer::StoreWaveformData().

71 {
72  // Get RootManager
73  FairRootManager* ioman = FairRootManager::Instance();
74  if (!ioman) {
75  cout << "-E- PndEmcFWEndcapTimebasedWaveforms::Init: "
76  << "RootManager not instantiated!" << endl;
77  return kFATAL;
78  }
79 
80  // Get input array
81  fHitArray = (TClonesArray*) ioman->GetObject("EmcHit");
82  if (!fHitArray) {
83  cout << "-W- PndEmcFWEndcapTimebasedWaveforms::Init: "
84  << "No EmcHit array!" << endl;
85  return kERROR;
86  }
87 
88  // Create and activiate output Buffer....choose between PndEmcWaveform and PndEmcMultiWaveform
89  #ifndef MULTI
90  fWaveformBuffer = new PndEmcWaveformBuffer("EmcWaveform", "PndEmcWaveform", "Emc", GetPersistency());
91  #else
92  fWaveformBuffer = new PndEmcWaveformBuffer("EmcWaveform", "PndEmcMultiWaveform", "Emc", GetPersistency());
93  #endif
94 
95  fWaveformBuffer = (PndEmcWaveformBuffer*) ioman ->RegisterWriteoutBuffer("EmcTimebasedWaveform", fWaveformBuffer);
96  fWaveformBuffer->ActivateBuffering(fActivateBuffering);
97 
98  if (fStoreDataClass) {
99  fWaveformBuffer->StoreWaveformData("EmcWaveformData", "Emc", GetPersistency());
100  }
101 
102 
103  if(!fDigiPar) {
104  cout << "-E- PndEmcFWEndcapTimebasedWaveforms::Init: "
105  << "no DigiPar containter found" << endl;
106  return kERROR;
107  }
108 
110 
112  //rear surface of FWEndcap crystal: 676 mm^2
115  } else {
117  fExcessNoiseFactor = 1;
118  }
119 
122 
123  const Double_t tBefore = fDigiPar->GetTimeBeforeHit();
124  const Double_t tAfter = fDigiPar->GetTimeAfterHit();
125  const Double_t cutoff=fDigiPar->GetWfCutOffEnergy(); //GeV //0.001
126  const Double_t activeTimeIncrement=10; //ns //50
127  const Double_t sampleRate = fDigiPar->GetSampleRate(); //ns^-1 <-> GHz //0.08
128  const Int_t bits = fDigiPar->GetNBits(); //1 //14
129 
130  const Double_t tau = fDigiPar->GetPulseshapeTau(); //ns //68.7
131  const Double_t N = fDigiPar->GetPulseshapeN(); //N //1.667
132 
133  const Double_t energyRange_HIGH = fDigiPar->GetEnergyRangeHigh(); //GeV //1
134  const Double_t energyRange_LOW = fDigiPar->GetEnergyRangeLow(); //GeV //15
135  const Double_t noiseWidth_HIGH = fDigiPar->GetNoiseWidthLow(); //GeV //0.0023
136  const Double_t noiseWidth_LOW = fDigiPar->GetNoiseWidthHigh(); //GeV //0.0035
137 
138  PndEmcAbsPulseshape* fPulseshape = new PndEmcFittedPulseshape(tau, N);
139  fAPD_LOWHIGH = new PndEmcMultiWaveformSimulator(sampleRate, fPulseshape, 2);
140 
141  fAPD_LOWHIGH->Init(tBefore, tAfter, cutoff, activeTimeIncrement);
142 
145  fAPD_LOWHIGH->AddModifier(new PndEmcWaveformDigitizer(bits, energyRange_HIGH, fAPD_LOWHIGH->GetTotalScale(0)), 0);
146  fAPD_LOWHIGH->AddModifier(new PndEmcWaveformDigitizer(bits, energyRange_LOW, fAPD_LOWHIGH->GetTotalScale(1)), 1);
147 
148 
149  return kSUCCESS;
150 }
virtual Double_t GetTotalScale(Int_t wfIndex)
Return scale after all modifiers.
virtual void StoreWaveformData(TString branchName, TString folderName, bool persistance)
Simulator to create PndEmcMultiWaveform.
PndEmcFWEndcapDigiPar * fDigiPar
Digitisation parameter container.
void InitEmcMapper()
virtual void AddModifier(PndEmcAbsWaveformModifier *wfModifier, Int_t wfIndex)
Add a modifier (PndEmcAbsWaveformModifier)
Double_t
Experimentally derived Pulseshape.
virtual void Init(Double_t samplingBeforeFirstPulse, Double_t samplingAfterLastPulse, Double_t cutoff, Double_t activeTimeIncrement)
Init the simulator.
pulseshape interface
buffer for waveforms, used by PndEmcFWEndcapTimebasedWaveforms
static PndEmcStructure * Instance()
PndEmcGeoPar * fGeoPar
Geometry parameter container.
waveform modifier to add noise to waveform
PndEmcFWEndcapTimebasedWaveforms& PndEmcFWEndcapTimebasedWaveforms::operator= ( const PndEmcFWEndcapTimebasedWaveforms )
private
void PndEmcFWEndcapTimebasedWaveforms::RunTimebased ( Bool_t  timebased = kTRUE)
inline

Definition at line 45 of file PndEmcFWEndcapTimebasedWaveforms.h.

References fActivateBuffering.

Referenced by emc_timebasedDigi(), and run_digi().

void PndEmcFWEndcapTimebasedWaveforms::SetExternalSimulator ( PndEmcAbsWaveformSimulator simulator)
inline

Definition at line 46 of file PndEmcFWEndcapTimebasedWaveforms.h.

References fExternalSimulator.

46 { fExternalSimulator = simulator; }
void PndEmcFWEndcapTimebasedWaveforms::SetParContainers ( )
protectedvirtual

Get parameter containers

Definition at line 233 of file PndEmcFWEndcapTimebasedWaveforms.cxx.

References fDigiPar, fGeoPar, and run.

234 {
235  // Get run and runtime database
236  FairRun* run = FairRun::Instance();
237  if ( ! run ) Fatal("SetParContainers", "No analysis run");
238 
239  FairRuntimeDb* db = run->GetRuntimeDb();
240  if ( ! db ) Fatal("SetParContainers", "No runtime database");
241 
242  // Get Emc geometry parameter container
243  fGeoPar = (PndEmcGeoPar*) db->getContainer("PndEmcGeoPar");
244 
245  // Get Emc digitisation parameter container
246  fDigiPar = dynamic_cast<PndEmcFWEndcapDigiPar*>(db->getContainer("PndEmcFWEndcapDigiPar"));
247 }
Int_t run
Definition: autocutx.C:47
PndEmcFWEndcapDigiPar * fDigiPar
Digitisation parameter container.
parameter set for the FWEndcap variant of waveform simulation
PndEmcGeoPar * fGeoPar
Geometry parameter container.
void PndPersistencyTask::SetPersistency ( Bool_t  val = kTRUE)
inlineinherited

Definition at line 31 of file PndPersistencyTask.h.

References PndPersistencyTask::fPersistency, and val.

Referenced by barrelTrackFinder(), digi_complete(), digi_complete_newSTT(), digiOnly_complete(), PndBarrelTrackFinder::PndBarrelTrackFinder(), PndCATracking::PndCATracking(), PndDrcHitFinder::PndDrcHitFinder(), PndEmc2DLocMaxFinder::PndEmc2DLocMaxFinder(), PndEmcExpClusterSplitter::PndEmcExpClusterSplitter(), PndEmcFullDigiTask::PndEmcFullDigiTask(), PndEmcFWEndcapDigi::PndEmcFWEndcapDigi(), PndEmcFWEndcapTimebasedWaveforms(), PndEmcHitProducer::PndEmcHitProducer(), PndEmcHitsToWaveform::PndEmcHitsToWaveform(), PndEmcMakeBump::PndEmcMakeBump(), PndEmcMakeCluster::PndEmcMakeCluster(), PndEmcMakeClusterOnline::PndEmcMakeClusterOnline(), PndEmcMakeDigi::PndEmcMakeDigi(), PndEmcMakeRecoHit::PndEmcMakeRecoHit(), PndEmcMultiWaveformToCalibratedDigi::PndEmcMultiWaveformToCalibratedDigi(), PndEmcPhiBumpSplitter::PndEmcPhiBumpSplitter(), PndEmcTmpWaveformToDigi::PndEmcTmpWaveformToDigi(), PndEmcWaveformToCalibratedDigi::PndEmcWaveformToCalibratedDigi(), PndEmcWaveformToDigi::PndEmcWaveformToDigi(), PndFtofHitProducerIdeal::PndFtofHitProducerIdeal(), PndFtsCATracking::PndFtsCATracking(), PndFtsHitProducerIdeal::PndFtsHitProducerIdeal(), PndFtsHitProducerRealFast::PndFtsHitProducerRealFast(), PndFtsHitProducerRealFull::PndFtsHitProducerRealFull(), PndFtsHoughTrackerTask::PndFtsHoughTrackerTask(), PndGemDigitize::PndGemDigitize(), PndGemFindHits::PndGemFindHits(), PndIdealTrackFinder::PndIdealTrackFinder(), PndLmdPixelClusterTask::PndLmdPixelClusterTask(), PndLmdPixelHitProducerFast::PndLmdPixelHitProducerFast(), PndMdtClusterTask::PndMdtClusterTask(), PndMdtDigitization::PndMdtDigitization(), PndMdtHitProducerIdeal::PndMdtHitProducerIdeal(), PndMdtPointsToWaveform::PndMdtPointsToWaveform(), PndMdtTrkProducer::PndMdtTrkProducer(), PndMissingPzCleanerTask::PndMissingPzCleanerTask(), PndMvdGemTrackFinderOnHits::PndMvdGemTrackFinderOnHits(), PndMvdHitProducerIdeal::PndMvdHitProducerIdeal(), PndMvdPixelClusterTask::PndMvdPixelClusterTask(), PndMvdTimeWalkCorrTask::PndMvdTimeWalkCorrTask(), PndMvdToPix4ClusterTask::PndMvdToPix4ClusterTask(), PndRecoKalmanTask::PndRecoKalmanTask(), PndRecoKalmanTask2::PndRecoKalmanTask2(), PndRecoMultiKalmanTask::PndRecoMultiKalmanTask(), PndRecoMultiKalmanTask2::PndRecoMultiKalmanTask2(), PndRichHitFinder::PndRichHitFinder(), PndRichHitProducer::PndRichHitProducer(), PndSciTDigiTask::PndSciTDigiTask(), PndSciTHitProducerIdeal::PndSciTHitProducerIdeal(), PndSdsHitProducerIdeal::PndSdsHitProducerIdeal(), PndSdsHybridHitProducer::PndSdsHybridHitProducer(), PndSdsIdealClusterTask::PndSdsIdealClusterTask(), PndSdsIdealRecoTask::PndSdsIdealRecoTask(), PndSdsNoiseProducer::PndSdsNoiseProducer(), PndSdsPixelClusterTask::PndSdsPixelClusterTask(), PndSdsStripClusterTask::PndSdsStripClusterTask(), PndSdsStripHitProducer::PndSdsStripHitProducer(), PndSdsTimeWalkCorrTask::PndSdsTimeWalkCorrTask(), PndSttFindTracks::PndSttFindTracks(), PndSttHelixHitProducer::PndSttHelixHitProducer(), PndSttHitProducerIdeal::PndSttHitProducerIdeal(), PndSttHitProducerRealFast::PndSttHitProducerRealFast(), PndSttHitProducerRealFull::PndSttHitProducerRealFull(), PndSttMatchTracks::PndSttMatchTracks(), PndSttMvdGemTracking::PndSttMvdGemTracking(), PndTrackSmearTask::PndTrackSmearTask(), PndTrkTracking2::PndTrkTracking2(), reco(), reco_complete(), reco_complete_gf2(), reco_complete_newSTT(), reco_complete_sec(), recoideal_complete(), PndMvdClusterTask::SetPersistance(), PndMvdDigiTask::SetPersistance(), PndLmdPixelHitProducerFast::SetPersistance(), PndSdsHitProducerIdeal::SetPersistance(), PndSttMvdGemTracking::SetPersistenc(), PndMdtClusterTask::SetPersistence(), PndSttHelixHitProducer::SetPersistence(), PndMissingPzCleanerTask::SetPersistence(), PndFtsHitProducerRealFast::SetPersistence(), PndFtsHitProducerRealFull::SetPersistence(), PndSttHitProducerRealFull::SetPersistence(), PndSttHitProducerIdeal::SetPersistence(), PndSttHitProducerRealFast::SetPersistence(), PndFtsHitProducerIdeal::SetPersistence(), PndTrackSmearTask::SetPersistence(), PndSciTHitProducerIdeal::SetPersistence(), PndIdealTrackFinder::SetPersistence(), PndSttMatchTracks::SetPersistence(), PndSttFindTracks::SetPersistence(), PndFtsHoughTrackerTask::SetPersistence(), PndTrkTracking2::SetPersistence(), PndEmcMakeRecoHit::SetStorageOfData(), PndEmcFWEndcapDigi::SetStorageOfData(), PndEmcMakeClusterOnline::SetStorageOfData(), SetStorageOfData(), PndEmcMakeDigi::SetStorageOfData(), PndMdtPointsToWaveform::SetStorageOfData(), PndEmc2DLocMaxFinder::SetStorageOfData(), PndEmcMakeCluster::SetStorageOfData(), PndEmcHitsToWaveform::SetStorageOfData(), PndEmcMakeBump::SetStorageOfData(), PndEmcTmpWaveformToDigi::SetStorageOfData(), PndEmcWaveformToDigi::SetStorageOfData(), PndEmcWaveformToCalibratedDigi::SetStorageOfData(), PndEmcMultiWaveformToCalibratedDigi::SetStorageOfData(), PndEmcExpClusterSplitter::SetStorageOfData(), PndEmcPhiBumpSplitter::SetStorageOfData(), standard_tracking(), and PndEmcFullDigiTask::StoreDigi().

31 { fPersistency = val; }
Double_t val[nBoxes][nFEBox]
Definition: createCalib.C:11
void PndEmcFWEndcapTimebasedWaveforms::SetStorageOfData ( Bool_t  storeWaves = kTRUE)
inline

Definition at line 47 of file PndEmcFWEndcapTimebasedWaveforms.h.

References PndPersistencyTask::SetPersistency().

Referenced by emc_timebasedDigi(), and run_digi().

47 {SetPersistency(storeWaves);} ;
void SetPersistency(Bool_t val=kTRUE)
void PndEmcFWEndcapTimebasedWaveforms::StoreDataClass ( Bool_t  storeData = kTRUE)
inline

Method to specify whether waveforms are stored or not.

Definition at line 48 of file PndEmcFWEndcapTimebasedWaveforms.h.

References fStoreDataClass.

Referenced by emc_timebasedDigi(), and run_digi().

Member Data Documentation

Bool_t PndEmcFWEndcapTimebasedWaveforms::fActivateBuffering
private

Definition at line 68 of file PndEmcFWEndcapTimebasedWaveforms.h.

Referenced by Init(), and RunTimebased().

PndEmcMultiWaveformSimulator* PndEmcFWEndcapTimebasedWaveforms::fAPD_LOWHIGH
private

Definition at line 78 of file PndEmcFWEndcapTimebasedWaveforms.h.

Referenced by Exec(), and Init().

PndEmcFWEndcapDigiPar* PndEmcFWEndcapTimebasedWaveforms::fDigiPar
private

Digitisation parameter container.

Definition at line 70 of file PndEmcFWEndcapTimebasedWaveforms.h.

Referenced by Init(), and SetParContainers().

Double_t PndEmcFWEndcapTimebasedWaveforms::fExcessNoiseFactor
private

Definition at line 75 of file PndEmcFWEndcapTimebasedWaveforms.h.

Referenced by Exec(), and Init().

PndEmcAbsWaveformSimulator* PndEmcFWEndcapTimebasedWaveforms::fExternalSimulator
private

Definition at line 77 of file PndEmcFWEndcapTimebasedWaveforms.h.

Referenced by Exec(), and SetExternalSimulator().

PndEmcGeoPar* PndEmcFWEndcapTimebasedWaveforms::fGeoPar
private

Geometry parameter container.

Definition at line 71 of file PndEmcFWEndcapTimebasedWaveforms.h.

Referenced by Init(), and SetParContainers().

TClonesArray* PndEmcFWEndcapTimebasedWaveforms::fHitArray
private

Input array of PndEmcHits

Definition at line 62 of file PndEmcFWEndcapTimebasedWaveforms.h.

Referenced by Exec(), and Init().

Double_t PndEmcFWEndcapTimebasedWaveforms::fNPhotoElectronsPerMeV
private

Definition at line 74 of file PndEmcFWEndcapTimebasedWaveforms.h.

Referenced by Exec(), and Init().

Bool_t PndEmcFWEndcapTimebasedWaveforms::fStoreDataClass
private

Definition at line 67 of file PndEmcFWEndcapTimebasedWaveforms.h.

Referenced by Init(), and StoreDataClass().

Bool_t PndEmcFWEndcapTimebasedWaveforms::fUse_photon_statistic
private

Definition at line 73 of file PndEmcFWEndcapTimebasedWaveforms.h.

Referenced by Exec(), and Init().

PndEmcWaveformBuffer* PndEmcFWEndcapTimebasedWaveforms::fWaveformBuffer
private

Output array of PndEmcWaveforms

Definition at line 65 of file PndEmcFWEndcapTimebasedWaveforms.h.

Referenced by Exec(), and Init().


The documentation for this class was generated from the following files: