CMS 3D CMS Logo

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