FairRoot/PandaRoot
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
detectors
emc
EmcDigi
PndEmcHitsToWaveform.h
Go to the documentation of this file.
1
//----------------------------------------------------------------------
2
// File and Version Information:
3
// $Id: Exp $
4
//
5
// Description:
6
// Class PndEmcHitsToWaveform. Module to take the hit list for the
7
// calorimeter and make ADC waveforms from them.
8
//
9
// Software developed for the BaBar Detector at the SLAC B-Factory.
10
// Adapted for the PANDA experiment at GSI
11
//
12
// Author List:
13
// Phil Strother Original author
14
// Dima Melnichuk - adaption for PANDA
15
// Copyright Information:
16
// Copyright (C) 1996 Imperial College
17
//----------------------------------------------------------------------
18
//#pragma once
19
#ifndef PndEmcHitsToWaveform_H
20
#define PndEmcHitsToWaveform_H
21
22
#include <
PndPersistencyTask.h
>
23
#include "
PndEmcWaveform.h
"
24
#include "
PndEmcTwoCoordIndex.h
"
25
26
27
//class PndEmcTwoCoordIndex;
28
//class PndEmcWaveform;
29
class
PndEmcMapper
;
30
31
class
TClonesArray;
32
class
PndEmcDigiPar
;
33
class
PndEmcGeoPar
;
34
class
PndEmcWaveformWriteoutBuffer
;
35
class
PndEmcAbsPulseshape
;
36
41
class
PndEmcHitsToWaveform
:
public
PndPersistencyTask
42
{
43
public
:
44
// Constructors
45
PndEmcHitsToWaveform
(Int_t
verbose
=0,
Bool_t
storewaves=kTRUE);
46
// Destructor
47
virtual
~PndEmcHitsToWaveform
();
48
49
virtual
InitStatus
Init
();
50
virtual
void
Exec
(Option_t* opt);
51
52
//PndEmcWaveform * AddWaveform(Int_t detId,Int_t hitIndex,Int_t numOfSamples);
53
PndEmcWaveform
*
AddWaveform
(Int_t detId,Int_t hitIndex,Int_t numOfSamples,
Double_t
timeStamp,
Double_t
sampleRate, Int_t MCTrackID);
54
55
void
SetStorageOfData
(
Bool_t
val
);
// Method to specify whether waveforms are stored or not.
56
57
void
RunTimeBased
(){
fTimeOrderedWaveform
= kTRUE;}
58
59
void
FinishTask
();
60
protected
:
62
virtual
void
SetParContainers
();
63
private
:
64
// don't allow copying (-Weffc++)
65
PndEmcHitsToWaveform
(
const
PndEmcHitsToWaveform
&);
// no implementation
66
PndEmcHitsToWaveform
&
operator=
(
const
PndEmcHitsToWaveform
&);
// no implementation
67
68
private
:
70
TClonesArray*
fHitArray
;
71
73
TClonesArray*
fWaveformArray
;
74
PndEmcWaveformWriteoutBuffer
*
fDataBuffer
;
75
Bool_t
fTimeOrderedWaveform
;
76
77
Double_t
fOneBitResolution
;
78
Double_t
fOneBitResolutionBW
;
79
Double_t
fOneBitResolutionPMT
;
80
Double_t
fOneBitResolutionFWD
;
81
82
Int_t
fNBits
;
83
Double_t
fDetectedPhotonsPerMeV
;
84
Double_t
fDetectedPhotonsPerMeV_PMT
;
85
Double_t
fNPhotoElectronsPerMeVAPDBarrel
;
86
Double_t
fNPhotoElectronsPerMeVAPDBWD
;
87
Double_t
fNPhotoElectronsPerMeVVPT
;
88
Double_t
fNPhotoElectronsPerMeVPMT
;
89
Double_t
fSensitiveAreaAPD
;
//mm^2
90
Double_t
fSensitiveAreaVPT
;
//mm^2
91
Double_t
fQuantumEfficiencyAPD
;
92
Double_t
fQuantumEfficiencyVPT
;
93
Double_t
fQuantumEfficiencyPMT
;
94
Double_t
fExcessNoiseFactorAPD
;
95
Double_t
fExcessNoiseFactorVPT
;
96
Double_t
fExcessNoiseFactorPMT
;
97
Double_t
fIncoherent_elec_noise_width_GeV_APD
;
//GeV
98
Double_t
fIncoherent_elec_noise_width_GeV_VPT
;
//GeV
99
Double_t
fEnergyRange
;
//GeV
100
Double_t
fEnergyRangeBW
;
//GeV
101
Double_t
fFirstSamplePhase
;
102
Int_t
fNumber_of_samples_in_waveform
;
103
Int_t
fNumber_of_samples_in_waveform_pmt
;
104
Int_t
fNumber_of_samples_in_waveform_fwd
;
105
Double_t
fASIC_Shaping_int_time
;
//s
106
Double_t
fPMT_Shaping_int_time
;
//s
107
Double_t
fPMT_Shaping_diff_time
;
//s
108
Double_t
fFWD_Shaping_int_time
;
//s
109
Double_t
fFWD_time_constant
;
//s
110
Double_t
fCrystal_time_constant
;
//s
111
Double_t
fShashlyk_time_constant
;
//s
112
Double_t
fShashlykSamplingFactor
;
113
Double_t
fSampleRate
;
114
Double_t
fSampleRate_PMT
;
115
Double_t
fSampleRate_FWD
;
116
Int_t
fUse_shaped_noise
;
117
Int_t
fUse_photon_statistic
;
118
Int_t
fNoiseAllChannels
;
119
Int_t
fMapVersion
;
120
121
Double_t
fFirstADCBinTime
;
122
123
Double_t
fGevPeakAnalogue
;
124
Double_t
fGevPeakAnalogue_PMT
;
125
Double_t
fGevPeakAnalogue_FWD
;
126
127
PndEmcDigiPar
*
fDigiPar
;
128
PndEmcGeoPar
*
fGeoPar
;
131
Int_t
fVerbose
;
132
133
//counters for task
134
Int_t
HowManyHit
;
135
Int_t
nWaveformProduced
;
136
Int_t
HowManyEventPileup
;
137
138
//pulse shapes
139
PndEmcAbsPulseshape
*
pulseshape1
;
140
PndEmcAbsPulseshape
*
pulseshape2
;
141
PndEmcAbsPulseshape
*
pulseshape3
;
142
143
ClassDef
(
PndEmcHitsToWaveform
,2);
144
};
145
146
#endif
147
148
149
150
151
PndEmcHitsToWaveform::fUse_shaped_noise
Int_t fUse_shaped_noise
Definition:
PndEmcHitsToWaveform.h:116
PndEmcHitsToWaveform
Takes list of PndEmcHits and creates PndEmcWaveform.
Definition:
PndEmcHitsToWaveform.h:41
PndEmcHitsToWaveform::fPMT_Shaping_diff_time
Double_t fPMT_Shaping_diff_time
Definition:
PndEmcHitsToWaveform.h:107
PndEmcHitsToWaveform::fDetectedPhotonsPerMeV_PMT
Double_t fDetectedPhotonsPerMeV_PMT
Definition:
PndEmcHitsToWaveform.h:84
PndEmcHitsToWaveform::Init
virtual InitStatus Init()
Init Task.
Definition:
PndEmcHitsToWaveform.cxx:86
PndEmcWaveform.h
PndEmcHitsToWaveform::PndEmcHitsToWaveform
PndEmcHitsToWaveform(Int_t verbose=0, Bool_t storewaves=kTRUE)
Definition:
PndEmcHitsToWaveform.cxx:55
PndEmcHitsToWaveform::fDigiPar
PndEmcDigiPar * fDigiPar
Definition:
PndEmcHitsToWaveform.h:127
PndEmcHitsToWaveform::fSensitiveAreaAPD
Double_t fSensitiveAreaAPD
Definition:
PndEmcHitsToWaveform.h:89
PndEmcHitsToWaveform::fIncoherent_elec_noise_width_GeV_VPT
Double_t fIncoherent_elec_noise_width_GeV_VPT
Definition:
PndEmcHitsToWaveform.h:98
PndPersistencyTask.h
PndEmcHitsToWaveform::fFirstSamplePhase
Double_t fFirstSamplePhase
Definition:
PndEmcHitsToWaveform.h:101
PndEmcHitsToWaveform::fGevPeakAnalogue
Double_t fGevPeakAnalogue
Definition:
PndEmcHitsToWaveform.h:123
PndEmcHitsToWaveform::fOneBitResolutionBW
Double_t fOneBitResolutionBW
Definition:
PndEmcHitsToWaveform.h:78
val
Double_t val[nBoxes][nFEBox]
Definition:
createCalib.C:11
PndEmcHitsToWaveform::fShashlyk_time_constant
Double_t fShashlyk_time_constant
Definition:
PndEmcHitsToWaveform.h:111
verbose
#define verbose
Definition:
PndRadMapBoxMesh.cxx:15
PndEmcHitsToWaveform::fCrystal_time_constant
Double_t fCrystal_time_constant
Definition:
PndEmcHitsToWaveform.h:110
PndEmcHitsToWaveform::fSampleRate_PMT
Double_t fSampleRate_PMT
Definition:
PndEmcHitsToWaveform.h:114
PndEmcHitsToWaveform::fWaveformArray
TClonesArray * fWaveformArray
Definition:
PndEmcHitsToWaveform.h:73
PndEmcHitsToWaveform::fFirstADCBinTime
Double_t fFirstADCBinTime
Definition:
PndEmcHitsToWaveform.h:121
PndEmcHitsToWaveform::fEnergyRange
Double_t fEnergyRange
Definition:
PndEmcHitsToWaveform.h:99
PndEmcTwoCoordIndex.h
PndEmcMapper
Emc geometry mapper.
Definition:
PndEmcMapper.h:22
PndEmcHitsToWaveform::fGeoPar
PndEmcGeoPar * fGeoPar
Definition:
PndEmcHitsToWaveform.h:128
PndEmcHitsToWaveform::pulseshape2
PndEmcAbsPulseshape * pulseshape2
Definition:
PndEmcHitsToWaveform.h:140
PndEmcHitsToWaveform::fDataBuffer
PndEmcWaveformWriteoutBuffer * fDataBuffer
Definition:
PndEmcHitsToWaveform.h:74
PndEmcHitsToWaveform::fNumber_of_samples_in_waveform_fwd
Int_t fNumber_of_samples_in_waveform_fwd
Definition:
PndEmcHitsToWaveform.h:104
PndEmcHitsToWaveform::fNPhotoElectronsPerMeVAPDBWD
Double_t fNPhotoElectronsPerMeVAPDBWD
Definition:
PndEmcHitsToWaveform.h:86
PndEmcHitsToWaveform::operator=
PndEmcHitsToWaveform & operator=(const PndEmcHitsToWaveform &)
PndEmcHitsToWaveform::fMapVersion
Int_t fMapVersion
Definition:
PndEmcHitsToWaveform.h:119
PndEmcGeoPar
Definition:
PndEmcGeoPar.h:8
PndEmcHitsToWaveform::fSampleRate_FWD
Double_t fSampleRate_FWD
Definition:
PndEmcHitsToWaveform.h:115
PndEmcHitsToWaveform::fQuantumEfficiencyAPD
Double_t fQuantumEfficiencyAPD
Definition:
PndEmcHitsToWaveform.h:91
PndEmcHitsToWaveform::~PndEmcHitsToWaveform
virtual ~PndEmcHitsToWaveform()
Definition:
PndEmcHitsToWaveform.cxx:66
PndEmcHitsToWaveform::ClassDef
ClassDef(PndEmcHitsToWaveform, 2)
PndEmcHitsToWaveform::SetStorageOfData
void SetStorageOfData(Bool_t val)
Definition:
PndEmcHitsToWaveform.cxx:613
PndEmcHitsToWaveform::fPMT_Shaping_int_time
Double_t fPMT_Shaping_int_time
Definition:
PndEmcHitsToWaveform.h:106
PndEmcHitsToWaveform::HowManyHit
Int_t HowManyHit
Definition:
PndEmcHitsToWaveform.h:134
PndEmcHitsToWaveform::fOneBitResolutionFWD
Double_t fOneBitResolutionFWD
Definition:
PndEmcHitsToWaveform.h:80
PndEmcHitsToWaveform::fASIC_Shaping_int_time
Double_t fASIC_Shaping_int_time
Definition:
PndEmcHitsToWaveform.h:105
PndEmcHitsToWaveform::fNPhotoElectronsPerMeVAPDBarrel
Double_t fNPhotoElectronsPerMeVAPDBarrel
Definition:
PndEmcHitsToWaveform.h:85
PndEmcHitsToWaveform::fIncoherent_elec_noise_width_GeV_APD
Double_t fIncoherent_elec_noise_width_GeV_APD
Definition:
PndEmcHitsToWaveform.h:97
PndEmcHitsToWaveform::fDetectedPhotonsPerMeV
Double_t fDetectedPhotonsPerMeV
Definition:
PndEmcHitsToWaveform.h:83
Double_t
Double_t
Definition:
SimCompleteLinkDef.h:6
PndEmcHitsToWaveform::fNumber_of_samples_in_waveform
Int_t fNumber_of_samples_in_waveform
Definition:
PndEmcHitsToWaveform.h:102
PndEmcHitsToWaveform::nWaveformProduced
Int_t nWaveformProduced
Definition:
PndEmcHitsToWaveform.h:135
PndEmcDigiPar
parameter set of Emc digitisation
Definition:
PndEmcDigiPar.h:12
PndEmcHitsToWaveform::fNPhotoElectronsPerMeVVPT
Double_t fNPhotoElectronsPerMeVVPT
Definition:
PndEmcHitsToWaveform.h:87
PndEmcHitsToWaveform::fNumber_of_samples_in_waveform_pmt
Int_t fNumber_of_samples_in_waveform_pmt
Definition:
PndEmcHitsToWaveform.h:103
PndEmcHitsToWaveform::HowManyEventPileup
Int_t HowManyEventPileup
Definition:
PndEmcHitsToWaveform.h:136
PndEmcHitsToWaveform::fQuantumEfficiencyVPT
Double_t fQuantumEfficiencyVPT
Definition:
PndEmcHitsToWaveform.h:92
PndPersistencyTask
Definition:
PndPersistencyTask.h:22
PndEmcHitsToWaveform::fHitArray
TClonesArray * fHitArray
Definition:
PndEmcHitsToWaveform.h:70
PndEmcHitsToWaveform::fFWD_time_constant
Double_t fFWD_time_constant
Definition:
PndEmcHitsToWaveform.h:109
PndEmcHitsToWaveform::fVerbose
Int_t fVerbose
Definition:
PndEmcHitsToWaveform.h:131
PndEmcHitsToWaveform::fTimeOrderedWaveform
Bool_t fTimeOrderedWaveform
Definition:
PndEmcHitsToWaveform.h:75
PndEmcHitsToWaveform::fGevPeakAnalogue_PMT
Double_t fGevPeakAnalogue_PMT
Definition:
PndEmcHitsToWaveform.h:124
PndEmcHitsToWaveform::fNBits
Int_t fNBits
Definition:
PndEmcHitsToWaveform.h:82
PndEmcWaveform
represents a simulated waveform in an emc crystal
Definition:
PndEmcWaveform.h:56
PndEmcHitsToWaveform::fOneBitResolution
Double_t fOneBitResolution
Definition:
PndEmcHitsToWaveform.h:77
PndEmcHitsToWaveform::fUse_photon_statistic
Int_t fUse_photon_statistic
Definition:
PndEmcHitsToWaveform.h:117
PndEmcHitsToWaveform::pulseshape1
PndEmcAbsPulseshape * pulseshape1
Definition:
PndEmcHitsToWaveform.h:139
PndEmcHitsToWaveform::Exec
virtual void Exec(Option_t *opt)
Runs the task.
Definition:
PndEmcHitsToWaveform.cxx:257
PndEmcHitsToWaveform::fExcessNoiseFactorVPT
Double_t fExcessNoiseFactorVPT
Definition:
PndEmcHitsToWaveform.h:95
PndEmcWaveformWriteoutBuffer
Definition:
PndEmcWaveformWriteoutBuffer.h:14
PndEmcHitsToWaveform::AddWaveform
PndEmcWaveform * AddWaveform(Int_t detId, Int_t hitIndex, Int_t numOfSamples, Double_t timeStamp, Double_t sampleRate, Int_t MCTrackID)
Create a new PndEmcWaveform from the passed parameters.
Definition:
PndEmcHitsToWaveform.cxx:594
PndEmcHitsToWaveform::RunTimeBased
void RunTimeBased()
Definition:
PndEmcHitsToWaveform.h:57
PndEmcAbsPulseshape
pulseshape interface
Definition:
PndEmcAbsPulseshape.h:25
PndEmcHitsToWaveform::fShashlykSamplingFactor
Double_t fShashlykSamplingFactor
Definition:
PndEmcHitsToWaveform.h:112
PndEmcHitsToWaveform::fNPhotoElectronsPerMeVPMT
Double_t fNPhotoElectronsPerMeVPMT
Definition:
PndEmcHitsToWaveform.h:88
PndEmcHitsToWaveform::pulseshape3
PndEmcAbsPulseshape * pulseshape3
Definition:
PndEmcHitsToWaveform.h:141
Bool_t
Bool_t
Definition:
SimCompleteLinkDef.h:6
PndEmcHitsToWaveform::fSensitiveAreaVPT
Double_t fSensitiveAreaVPT
Definition:
PndEmcHitsToWaveform.h:90
PndEmcHitsToWaveform::fExcessNoiseFactorAPD
Double_t fExcessNoiseFactorAPD
Definition:
PndEmcHitsToWaveform.h:94
PndEmcHitsToWaveform::fEnergyRangeBW
Double_t fEnergyRangeBW
Definition:
PndEmcHitsToWaveform.h:100
PndEmcHitsToWaveform::SetParContainers
virtual void SetParContainers()
Definition:
PndEmcHitsToWaveform.cxx:561
PndEmcHitsToWaveform::FinishTask
void FinishTask()
Called at end of task.
Definition:
PndEmcHitsToWaveform.cxx:626
PndEmcHitsToWaveform::fQuantumEfficiencyPMT
Double_t fQuantumEfficiencyPMT
Definition:
PndEmcHitsToWaveform.h:93
PndEmcHitsToWaveform::fSampleRate
Double_t fSampleRate
Definition:
PndEmcHitsToWaveform.h:113
PndEmcHitsToWaveform::fNoiseAllChannels
Int_t fNoiseAllChannels
Definition:
PndEmcHitsToWaveform.h:118
PndEmcHitsToWaveform::fFWD_Shaping_int_time
Double_t fFWD_Shaping_int_time
Definition:
PndEmcHitsToWaveform.h:108
PndEmcHitsToWaveform::fOneBitResolutionPMT
Double_t fOneBitResolutionPMT
Definition:
PndEmcHitsToWaveform.h:79
PndEmcHitsToWaveform::fGevPeakAnalogue_FWD
Double_t fGevPeakAnalogue_FWD
Definition:
PndEmcHitsToWaveform.h:125
PndEmcHitsToWaveform::fExcessNoiseFactorPMT
Double_t fExcessNoiseFactorPMT
Definition:
PndEmcHitsToWaveform.h:96
Generated on Wed Apr 3 2019 08:43:54 for FairRoot/PandaRoot by
1.8.5