CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Protected Member Functions | Private Attributes
EcalHitResponse Class Referenceabstract

#include <EcalHitResponse.h>

Inheritance diagram for EcalHitResponse:
EBHitResponse EEHitResponse ESHitResponse

Public Types

enum  { BUNCHSPACE = 25 }
 
typedef std::unordered_map< uint32_t, double > CalibCache
 
typedef CaloTSamplesBase< float > EcalSamples
 
typedef std::vector< unsigned int > VecInd
 

Public Member Functions

void add (const EcalSamples *pSam)
 
virtual void add (const PCaloHit &hit, CLHEP::HepRandomEngine *)
 
virtual void add (const CaloSamples &hit)
 
 EcalHitResponse (const CaloVSimParameterMap *parameterMap, const CaloVShape *shape)
 
virtual void finalizeHits ()
 
const EcalSamplesfindDetId (const DetId &detId) const
 
virtual void initializeHits ()
 
virtual EcalSamplesoperator[] (unsigned int i)=0
 
virtual const EcalSamplesoperator[] (unsigned int i) const =0
 
virtual void run (MixCollection< PCaloHit > &hits, CLHEP::HepRandomEngine *)
 
virtual unsigned int samplesSize () const =0
 
void setBunchRange (int minBunch, int maxBunch)
 
void setEventTime (const edm::TimeValue_t &iTime)
 
void setGeometry (const CaloSubdetectorGeometry *geometry)
 
void setHitCorrection (const CaloVHitCorrection *hitCorrection)
 
void setHitFilter (const CaloVHitFilter *filter)
 
void setLaserConstants (const EcalLaserDbService *laser, bool &useLCcorrection)
 
void setPECorrection (const CaloVPECorrection *peCorrection)
 
void setPhaseShift (double phaseShift)
 
bool withinBunchRange (int bunchCrossing) const
 
virtual ~EcalHitResponse ()
 

Protected Member Functions

double analogSignalAmplitude (const DetId &id, double energy, CLHEP::HepRandomEngine *)
 
void blankOutUsedSamples ()
 
double findLaserConstant (const DetId &detId) const
 
EcalSamplesfindSignal (const DetId &detId)
 
const CaloSubdetectorGeometrygeometry () const
 
const CaloVHitFilterhitFilter () const
 
VecIndindex ()
 
const VecIndindex () const
 
int maxBunch () const
 
int minBunch () const
 
const CaloSimParametersparams (const DetId &detId) const
 
double phaseShift () const
 
virtual void putAnalogSignal (const PCaloHit &inputHit, CLHEP::HepRandomEngine *)
 
virtual unsigned int samplesSizeAll () const =0
 
const CaloVShapeshape () const
 
double timeOfFlight (const DetId &detId) const
 
virtual EcalSamplesvSam (unsigned int i)=0
 
virtual EcalSamplesvSamAll (unsigned int i)=0
 
virtual const EcalSamplesvSamAll (unsigned int i) const =0
 

Private Attributes

const CaloSubdetectorGeometrym_geometry
 
const CaloVHitCorrectionm_hitCorrection
 
const CaloVHitFilterm_hitFilter
 
VecInd m_index
 
edm::TimeValue_t m_iTime
 
CalibCache m_laserCalibCache
 
const EcalLaserDbServicem_lasercals
 
int m_maxBunch
 
int m_minBunch
 
const CaloVSimParameterMapm_parameterMap
 
const CaloVPECorrectionm_PECorrection
 
double m_phaseShift
 
const CaloVShapem_shape
 
bool m_useLCcorrection
 

Detailed Description

Definition at line 28 of file EcalHitResponse.h.

Member Typedef Documentation

typedef std::unordered_map<uint32_t, double> EcalHitResponse::CalibCache

Definition at line 34 of file EcalHitResponse.h.

Definition at line 30 of file EcalHitResponse.h.

typedef std::vector<unsigned int> EcalHitResponse::VecInd

Definition at line 32 of file EcalHitResponse.h.

Member Enumeration Documentation

anonymous enum
Enumerator
BUNCHSPACE 

Definition at line 36 of file EcalHitResponse.h.

Constructor & Destructor Documentation

EcalHitResponse::EcalHitResponse ( const CaloVSimParameterMap parameterMap,
const CaloVShape shape 
)

Definition at line 20 of file EcalHitResponse.cc.

21  : m_parameterMap(parameterMap),
22  m_shape(shape),
23  m_hitCorrection(nullptr),
24  m_PECorrection(nullptr),
25  m_hitFilter(nullptr),
26  m_geometry(nullptr),
27  m_lasercals(nullptr),
28  m_minBunch(-32),
29  m_maxBunch(10),
30  m_phaseShift(1),
31  m_iTime(0),
32  m_useLCcorrection(false) {}
const CaloVShape * m_shape
edm::TimeValue_t m_iTime
const CaloVHitCorrection * m_hitCorrection
const EcalLaserDbService * m_lasercals
const CaloSubdetectorGeometry * m_geometry
const CaloVSimParameterMap * m_parameterMap
const CaloVPECorrection * m_PECorrection
const CaloVHitFilter * m_hitFilter
EcalHitResponse::~EcalHitResponse ( )
virtual

Definition at line 34 of file EcalHitResponse.cc.

34 {}

Member Function Documentation

void EcalHitResponse::add ( const EcalSamples pSam)

Definition at line 209 of file EcalHitResponse.cc.

References findSignal(), and CaloTSamplesBase< Ttype >::id().

Referenced by counter.Counter::register().

209  {
210  EcalSamples& sam(*findSignal(pSam->id()));
211  sam += (*pSam);
212 }
CaloTSamplesBase< float > EcalSamples
EcalSamples * findSignal(const DetId &detId)
void EcalHitResponse::add ( const PCaloHit hit,
CLHEP::HepRandomEngine *  engine 
)
virtual

Reimplemented in EBHitResponse.

Definition at line 90 of file EcalHitResponse.cc.

References CaloVHitFilter::accepts(), edm::isNotFinite(), m_hitFilter, putAnalogSignal(), and PCaloHit::time().

Referenced by counter.Counter::register().

90  {
91  if (!edm::isNotFinite(hit.time()) && (nullptr == m_hitFilter || m_hitFilter->accepts(hit))) {
92  putAnalogSignal(hit, engine);
93  }
94 }
double time() const
Definition: PCaloHit.h:30
constexpr bool isNotFinite(T x)
Definition: isFinite.h:9
virtual void putAnalogSignal(const PCaloHit &inputHit, CLHEP::HepRandomEngine *)
virtual bool accepts(const PCaloHit &hit) const =0
const CaloVHitFilter * m_hitFilter
void EcalHitResponse::add ( const CaloSamples hit)
virtual

Definition at line 96 of file EcalHitResponse.cc.

References newFWLiteAna::bin, Exception, findSignal(), CaloSamples::id(), mps_fire::result, and CaloSamples::size().

Referenced by counter.Counter::register().

96  {
97  const DetId detId(hit.id());
98 
99  EcalSamples& result(*findSignal(detId));
100 
101  const int rsize(result.size());
102 
103  if (rsize != hit.size()) {
104  throw cms::Exception("EcalDigitization") << "CaloSamples and EcalSamples have different sizes. Type Mismatach";
105  }
106 
107  for (int bin(0); bin != rsize; ++bin) {
108  result[bin] += hit[bin];
109  }
110 }
CaloTSamplesBase< float > EcalSamples
Definition: DetId.h:17
int size() const
get the size
Definition: CaloSamples.h:24
EcalSamples * findSignal(const DetId &detId)
DetId id() const
get the (generic) id
Definition: CaloSamples.h:21
double EcalHitResponse::analogSignalAmplitude ( const DetId id,
double  energy,
CLHEP::HepRandomEngine *  engine 
)
protected

Definition at line 174 of file EcalHitResponse.cc.

References utilities::cache(), CaloVPECorrection::correctPE(), CaloSimParameters::doPhotostatistics(), findLaserConstant(), m_laserCalibCache, m_PECorrection, m_useLCcorrection, params(), CaloSimParameters::simHitToPhotoelectrons(), and DetId::subdetId().

Referenced by putAnalogSignal().

174  {
175  const CaloSimParameters& parameters(*params(detId));
176 
177  // OK, the "energy" in the hit could be a real energy, deposited energy,
178  // or pe count. This factor converts to photoelectrons
179 
180  double lasercalib = 1.;
181  if (m_useLCcorrection == true && detId.subdetId() != 3) {
182  auto cache = m_laserCalibCache.find(detId);
183  if (cache != m_laserCalibCache.end()) {
184  lasercalib = cache->second;
185  } else {
186  lasercalib = 1.0 / findLaserConstant(detId);
187  m_laserCalibCache.emplace(detId, lasercalib);
188  }
189  }
190 
191  double npe(energy * lasercalib * parameters.simHitToPhotoelectrons(detId));
192 
193  // do we need to doPoisson statistics for the photoelectrons?
194  if (parameters.doPhotostatistics()) {
195  npe = CLHEP::RandPoissonQ::shoot(engine, npe);
196  }
197  if (nullptr != m_PECorrection)
198  npe = m_PECorrection->correctPE(detId, npe, engine);
199 
200  return npe;
201 }
double findLaserConstant(const DetId &detId) const
Main class for Parameters in different subdetectors.
const CaloSimParameters * params(const DetId &detId) const
virtual double correctPE(const DetId &detId, double npe, CLHEP::HepRandomEngine *) const =0
const CaloVPECorrection * m_PECorrection
CalibCache m_laserCalibCache
def cache(function)
Definition: utilities.py:3
void EcalHitResponse::blankOutUsedSamples ( )
protected

Definition at line 79 of file EcalHitResponse.cc.

References mps_fire::i, m_index, CaloTSamplesBase< Ttype >::setZero(), findQualityFiles::size, and vSamAll().

Referenced by EBHitResponse::initializeHits(), initializeHits(), EBHitResponse::run(), and run().

80 {
81  const unsigned int size(m_index.size());
82 
83  for (unsigned int i(0); i != size; ++i) {
84  vSamAll(m_index[i])->setZero();
85  }
86  m_index.erase(m_index.begin(), // done and make ready to start over
87  m_index.end());
88 }
size
Write out results.
virtual EcalSamples * vSamAll(unsigned int i)=0
void EcalHitResponse::finalizeHits ( )
virtual

Reimplemented in EBHitResponse.

Definition at line 118 of file EcalHitResponse.cc.

118 {}
const EcalHitResponse::EcalSamples * EcalHitResponse::findDetId ( const DetId detId) const

Definition at line 224 of file EcalHitResponse.cc.

References vSamAll().

Referenced by ESDigitizer::run().

224  {
225  const unsigned int di(CaloGenericDetId(detId).denseIndex());
226  return vSamAll(di);
227 }
virtual EcalSamples * vSamAll(unsigned int i)=0
double EcalHitResponse::findLaserConstant ( const DetId detId) const
protected

Definition at line 161 of file EcalHitResponse.cc.

References EcalLaserDbService::getLaserCorrection(), m_iTime, and m_lasercals.

Referenced by analogSignalAmplitude().

161  {
162  const edm::Timestamp& evtTimeStamp = edm::Timestamp(m_iTime);
163  return (m_lasercals->getLaserCorrection(detId, evtTimeStamp));
164 }
edm::TimeValue_t m_iTime
float getLaserCorrection(DetId const &xid, edm::Timestamp const &iTime) const
const EcalLaserDbService * m_lasercals
EcalHitResponse::EcalSamples * EcalHitResponse::findSignal ( const DetId detId)
protected

Definition at line 166 of file EcalHitResponse.cc.

References m_index, mps_fire::result, vSamAll(), and CaloTSamplesBase< Ttype >::zero().

Referenced by add(), putAnalogSignal(), and EBHitResponse::putAPDSignal().

166  {
167  const unsigned int di(CaloGenericDetId(detId).denseIndex());
168  EcalSamples* result(vSamAll(di));
169  if (result->zero())
170  m_index.push_back(di);
171  return result;
172 }
CaloTSamplesBase< float > EcalSamples
virtual EcalSamples * vSamAll(unsigned int i)=0
const CaloSubdetectorGeometry * EcalHitResponse::geometry ( ) const
protected

Definition at line 46 of file EcalHitResponse.cc.

References m_geometry.

Referenced by Vispa.Gui.ConnectableWidget.ConnectableWidget::leaveEvent(), setGeometry(), and timeOfFlight().

46  {
47  assert(nullptr != m_geometry);
48  return m_geometry;
49 }
const CaloSubdetectorGeometry * m_geometry
const CaloVHitFilter * EcalHitResponse::hitFilter ( ) const
protected

Definition at line 222 of file EcalHitResponse.cc.

References m_hitFilter.

Referenced by EBHitResponse::add(), and EBHitResponse::run().

222 { return m_hitFilter; }
const CaloVHitFilter * m_hitFilter
EcalHitResponse::VecInd & EcalHitResponse::index ( )
protected
const EcalHitResponse::VecInd & EcalHitResponse::index ( ) const
protected

Definition at line 220 of file EcalHitResponse.cc.

References m_index.

Referenced by BeautifulSoup.PageElement::insert().

220 { return m_index; }
void EcalHitResponse::initializeHits ( )
virtual

Reimplemented in EBHitResponse.

Definition at line 116 of file EcalHitResponse.cc.

References blankOutUsedSamples().

116 { blankOutUsedSamples(); }
void blankOutUsedSamples()
int EcalHitResponse::maxBunch ( ) const
protected

Definition at line 216 of file EcalHitResponse.cc.

References m_maxBunch.

Referenced by EBHitResponse::run(), and setBunchRange().

216 { return m_maxBunch; }
int EcalHitResponse::minBunch ( ) const
protected

Definition at line 214 of file EcalHitResponse.cc.

References m_minBunch.

Referenced by EBHitResponse::run(), and setBunchRange().

214 { return m_minBunch; }
virtual EcalSamples* EcalHitResponse::operator[] ( unsigned int  i)
pure virtual

Implemented in EBHitResponse, EEHitResponse, and ESHitResponse.

virtual const EcalSamples* EcalHitResponse::operator[] ( unsigned int  i) const
pure virtual

Implemented in EBHitResponse, EEHitResponse, and ESHitResponse.

const CaloSimParameters * EcalHitResponse::params ( const DetId detId) const
protected

Definition at line 36 of file EcalHitResponse.cc.

References m_parameterMap, and CaloVSimParameterMap::simParameters().

Referenced by analogSignalAmplitude(), putAnalogSignal(), and EBHitResponse::putAPDSignal().

36  {
37  assert(nullptr != m_parameterMap);
38  return &m_parameterMap->simParameters(detId);
39 }
virtual const CaloSimParameters & simParameters(const DetId &id) const =0
const CaloVSimParameterMap * m_parameterMap
double EcalHitResponse::phaseShift ( ) const
protected

Definition at line 60 of file EcalHitResponse.cc.

References m_phaseShift.

Referenced by EBHitResponse::putAPDSignal(), and setPhaseShift().

60 { return m_phaseShift; }
void EcalHitResponse::putAnalogSignal ( const PCaloHit inputHit,
CLHEP::HepRandomEngine *  engine 
)
protectedvirtual

Definition at line 132 of file EcalHitResponse.cc.

References analogSignalAmplitude(), newFWLiteAna::bin, BUNCHSPACE, CaloVHitCorrection::delay(), PCaloHit::energy(), findSignal(), PCaloHit::id(), m_hitCorrection, m_phaseShift, params(), mps_fire::result, shape(), CaloTSamplesBase< Ttype >::size(), PCaloHit::time(), ntuplemaker::time, timeOfFlight(), CaloVShape::timeToRise(), and tzero.

Referenced by EBHitResponse::add(), add(), EBHitResponse::run(), and run().

132  {
133  const DetId detId(hit.id());
134 
135  const CaloSimParameters* parameters(params(detId));
136 
137  const double signal(analogSignalAmplitude(detId, hit.energy(), engine));
138 
139  double time = hit.time();
140 
141  if (m_hitCorrection) {
142  time += m_hitCorrection->delay(hit, engine);
143  }
144 
145  const double jitter(time - timeOfFlight(detId));
146 
147  const double tzero = (shape()->timeToRise() + parameters->timePhase() - jitter -
148  BUNCHSPACE * (parameters->binOfMaximum() - m_phaseShift));
149  double binTime(tzero);
150 
151  EcalSamples& result(*findSignal(detId));
152 
153  const unsigned int rsize(result.size());
154 
155  for (unsigned int bin(0); bin != rsize; ++bin) {
156  result[bin] += (*shape())(binTime)*signal;
157  binTime += BUNCHSPACE;
158  }
159 }
double analogSignalAmplitude(const DetId &id, double energy, CLHEP::HepRandomEngine *)
const CaloVShape * shape() const
virtual double delay(const PCaloHit &hit, CLHEP::HepRandomEngine *) const =0
double timeOfFlight(const DetId &detId) const
Main class for Parameters in different subdetectors.
const CaloSimParameters * params(const DetId &detId) const
virtual double timeToRise() const =0
const CaloVHitCorrection * m_hitCorrection
CaloTSamplesBase< float > EcalSamples
unsigned int id
Definition: DetId.h:17
static const double tzero[3]
EcalSamples * findSignal(const DetId &detId)
void EcalHitResponse::run ( MixCollection< PCaloHit > &  hits,
CLHEP::HepRandomEngine *  engine 
)
virtual

Reimplemented in EBHitResponse.

Definition at line 120 of file EcalHitResponse.cc.

References CaloVHitFilter::accepts(), MixCollection< T >::begin(), blankOutUsedSamples(), MixCollection< T >::end(), edm::isNotFinite(), m_hitFilter, putAnalogSignal(), PCaloHit::time(), and withinBunchRange().

120  {
122 
123  for (MixCollection<PCaloHit>::MixItr hitItr(hits.begin()); hitItr != hits.end(); ++hitItr) {
124  const PCaloHit& hit(*hitItr);
125  const int bunch(hitItr.bunch());
126  if (withinBunchRange(bunch) && !edm::isNotFinite(hit.time()) &&
127  (nullptr == m_hitFilter || m_hitFilter->accepts(hit)))
128  putAnalogSignal(hit, engine);
129  }
130 }
constexpr bool isNotFinite(T x)
Definition: isFinite.h:9
virtual void putAnalogSignal(const PCaloHit &inputHit, CLHEP::HepRandomEngine *)
virtual bool accepts(const PCaloHit &hit) const =0
void blankOutUsedSamples()
iterator end() const
iterator begin() const
const CaloVHitFilter * m_hitFilter
bool withinBunchRange(int bunchCrossing) const
virtual unsigned int EcalHitResponse::samplesSize ( ) const
pure virtual

Implemented in EBHitResponse, EEHitResponse, and ESHitResponse.

virtual unsigned int EcalHitResponse::samplesSizeAll ( ) const
protectedpure virtual

Implemented in EBHitResponse, EEHitResponse, and ESHitResponse.

void EcalHitResponse::setBunchRange ( int  minBunch,
int  maxBunch 
)

Definition at line 51 of file EcalHitResponse.cc.

References m_maxBunch, m_minBunch, maxBunch(), and minBunch().

51  {
54 }
int maxBunch() const
int minBunch() const
void EcalHitResponse::setEventTime ( const edm::TimeValue_t iTime)

Definition at line 68 of file EcalHitResponse.cc.

References m_iTime, and m_laserCalibCache.

68  {
69  m_iTime = iTime;
70  //clear the laser cache for each event time
72 }
edm::TimeValue_t m_iTime
std::unordered_map< uint32_t, double > CalibCache
CalibCache m_laserCalibCache
void EcalHitResponse::setGeometry ( const CaloSubdetectorGeometry geometry)

Definition at line 56 of file EcalHitResponse.cc.

References geometry(), and m_geometry.

56 { m_geometry = geometry; }
const CaloSubdetectorGeometry * m_geometry
const CaloSubdetectorGeometry * geometry() const
void EcalHitResponse::setHitCorrection ( const CaloVHitCorrection hitCorrection)

Definition at line 64 of file EcalHitResponse.cc.

References m_hitCorrection.

64 { m_hitCorrection = hitCorrection; }
const CaloVHitCorrection * m_hitCorrection
void EcalHitResponse::setHitFilter ( const CaloVHitFilter filter)

Definition at line 62 of file EcalHitResponse.cc.

References ALCARECOTkAlBeamHalo_cff::filter, and m_hitFilter.

void EcalHitResponse::setLaserConstants ( const EcalLaserDbService laser,
bool &  useLCcorrection 
)

Definition at line 74 of file EcalHitResponse.cc.

References EcalCondDBWriter_cfi::laser, m_lasercals, and m_useLCcorrection.

74  {
76  m_useLCcorrection = useLCcorrection;
77 }
const EcalLaserDbService * m_lasercals
void EcalHitResponse::setPECorrection ( const CaloVPECorrection peCorrection)

Definition at line 66 of file EcalHitResponse.cc.

References m_PECorrection.

66 { m_PECorrection = peCorrection; }
const CaloVPECorrection * m_PECorrection
void EcalHitResponse::setPhaseShift ( double  phaseShift)

Definition at line 58 of file EcalHitResponse.cc.

References m_phaseShift, and phaseShift().

double phaseShift() const
const CaloVShape * EcalHitResponse::shape ( void  ) const
protected

Definition at line 41 of file EcalHitResponse.cc.

References m_shape.

Referenced by putAnalogSignal().

41  {
42  assert(nullptr != m_shape);
43  return m_shape;
44 }
const CaloVShape * m_shape
double EcalHitResponse::timeOfFlight ( const DetId detId) const
protected

Definition at line 203 of file EcalHitResponse.cc.

References geometry(), and ecaldqm::getGeometry().

Referenced by putAnalogSignal(), and EBHitResponse::putAPDSignal().

203  {
204  auto cellGeometry(geometry()->getGeometry(detId));
205  assert(nullptr != cellGeometry);
206  return cellGeometry->getPosition().mag() * cm / c_light; // Units of c_light: mm/ns
207 }
CaloGeometry const * getGeometry()
const CaloSubdetectorGeometry * geometry() const
virtual EcalSamples* EcalHitResponse::vSam ( unsigned int  i)
protectedpure virtual

Implemented in EBHitResponse, EEHitResponse, and ESHitResponse.

virtual EcalSamples* EcalHitResponse::vSamAll ( unsigned int  i)
protectedpure virtual
virtual const EcalSamples* EcalHitResponse::vSamAll ( unsigned int  i) const
protectedpure virtual

Implemented in EBHitResponse, EEHitResponse, and ESHitResponse.

bool EcalHitResponse::withinBunchRange ( int  bunchCrossing) const

Definition at line 112 of file EcalHitResponse.cc.

Referenced by run().

112  {
113  return (m_minBunch <= bunchCrossing && m_maxBunch >= bunchCrossing);
114 }

Member Data Documentation

const CaloSubdetectorGeometry* EcalHitResponse::m_geometry
private

Definition at line 125 of file EcalHitResponse.h.

Referenced by geometry(), and setGeometry().

const CaloVHitCorrection* EcalHitResponse::m_hitCorrection
private

Definition at line 122 of file EcalHitResponse.h.

Referenced by putAnalogSignal(), and setHitCorrection().

const CaloVHitFilter* EcalHitResponse::m_hitFilter
private

Definition at line 124 of file EcalHitResponse.h.

Referenced by add(), hitFilter(), run(), and setHitFilter().

VecInd EcalHitResponse::m_index
private

Definition at line 136 of file EcalHitResponse.h.

Referenced by blankOutUsedSamples(), findSignal(), and index().

edm::TimeValue_t EcalHitResponse::m_iTime
private

Definition at line 132 of file EcalHitResponse.h.

Referenced by findLaserConstant(), and setEventTime().

CalibCache EcalHitResponse::m_laserCalibCache
private

Definition at line 134 of file EcalHitResponse.h.

Referenced by analogSignalAmplitude(), and setEventTime().

const EcalLaserDbService* EcalHitResponse::m_lasercals
private

Definition at line 126 of file EcalHitResponse.h.

Referenced by findLaserConstant(), and setLaserConstants().

int EcalHitResponse::m_maxBunch
private

Definition at line 129 of file EcalHitResponse.h.

Referenced by maxBunch(), and setBunchRange().

int EcalHitResponse::m_minBunch
private

Definition at line 128 of file EcalHitResponse.h.

Referenced by minBunch(), and setBunchRange().

const CaloVSimParameterMap* EcalHitResponse::m_parameterMap
private

Definition at line 120 of file EcalHitResponse.h.

Referenced by params().

const CaloVPECorrection* EcalHitResponse::m_PECorrection
private

Definition at line 123 of file EcalHitResponse.h.

Referenced by analogSignalAmplitude(), and setPECorrection().

double EcalHitResponse::m_phaseShift
private

Definition at line 130 of file EcalHitResponse.h.

Referenced by phaseShift(), putAnalogSignal(), and setPhaseShift().

const CaloVShape* EcalHitResponse::m_shape
private

Definition at line 121 of file EcalHitResponse.h.

Referenced by shape().

bool EcalHitResponse::m_useLCcorrection
private

Definition at line 133 of file EcalHitResponse.h.

Referenced by analogSignalAmplitude(), and setLaserConstants().