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 <map>
16 #include <vector>
17 
18 namespace CLHEP {
19  class HepRandomEngine;
20 }
21 
23 {
24 public:
25  typedef std::map<DetId, double> ChargeSumsByChannel;
26 
27  HcalHitCorrection(const CaloVSimParameterMap * parameterMap);
28  virtual ~HcalHitCorrection() {}
29 
31  void fillChargeSums(std::vector<PCaloHit> & hits);
32 
33  void clear();
34 
36  double charge(const PCaloHit & hit) const;
37 
39  virtual double delay(const PCaloHit & hit, CLHEP::HepRandomEngine*) const;
40 
42  int timeBin(const PCaloHit & hit) const;
43 
45  double timeOfFlight(const DetId & id) const;
46 
47 private:
48 
50 
52 };
53 
54 #endif
55 
HcalHitCorrection(const CaloVSimParameterMap *parameterMap)
virtual ~HcalHitCorrection()
int timeBin(const PCaloHit &hit) const
which time bin the peak of the signal will fall in
std::map< DetId, double > ChargeSumsByChannel
void fillChargeSums(MixCollection< PCaloHit > &hits)
ChargeSumsByChannel theChargeSumsForTimeBin[10]
Definition: DetId.h:18
double timeOfFlight(const DetId &id) const
simple average approximation
double charge(const PCaloHit &hit) const
how much charge we expect from this hit
virtual double delay(const PCaloHit &hit, CLHEP::HepRandomEngine *) const
how much delay this hit will get
const CaloVSimParameterMap * theParameterMap