CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HcalHitCorrection.h
Go to the documentation of this file.
1 #ifndef HcalSimAlgos_HcalHitCorrection_h
2 #define HcalSimAlgos_HcalHitCorrection_h
3 
15 #include "CLHEP/Random/RandGaussQ.h"
16 #include <map>
17 
19 {
20 public:
21  typedef std::map<DetId, double> ChargeSumsByChannel;
22 
23  HcalHitCorrection(const CaloVSimParameterMap * parameterMap);
24  virtual ~HcalHitCorrection() {}
25 
27 
28  void clear();
29 
31  double charge(const PCaloHit & hit) const;
32 
34  double delay(const PCaloHit & hit) const;
35 
37  virtual void correct(PCaloHit & hit) const;
38 
40  int timeBin(const PCaloHit & hit) const;
41 
43  double timeOfFlight(const DetId & id) const;
44 
45  void setRandomEngine(CLHEP::HepRandomEngine & engine);
46 
47 private:
48 
50 
52 
53  CLHEP::RandGaussQ* theRandGaussQ;
54 
55 };
56 
57 #endif
58 
HcalHitCorrection(const CaloVSimParameterMap *parameterMap)
virtual void correct(PCaloHit &hit) const
applies the delay to the hit
CLHEP::RandGaussQ * theRandGaussQ
virtual ~HcalHitCorrection()
void setRandomEngine(CLHEP::HepRandomEngine &engine)
int timeBin(const PCaloHit &hit) const
which time bin the peak of the signal will fall in
std::map< DetId, double > ChargeSumsByChannel
double delay(const PCaloHit &hit) const
how much delay this hit will get
void fillChargeSums(MixCollection< PCaloHit > &hits)
ChargeSumsByChannel theChargeSumsForTimeBin[10]
Definition: DetId.h:20
double timeOfFlight(const DetId &id) const
simple average approximation
double charge(const PCaloHit &hit) const
how much charge we expect from this hit
const CaloVSimParameterMap * theParameterMap