CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HcalTDC.h
Go to the documentation of this file.
1 // -*- mode: c++ -*-
2 #ifndef HcalSimAlgos_HcalTDC_h
3 #define HcalSimAlgos_HcalTDC_h
4 
8 
9 class HcalDbService;
10 
11 namespace CLHEP {
12  class HepRandomEngine;
13 }
14 
15 class HcalTDC {
16 
17 public:
18  HcalTDC(unsigned int thresholdDAC = 12);
19  ~HcalTDC();
20 
22  template <class Digi>
23  void timing(const CaloSamples & lf, Digi & digi, CLHEP::HepRandomEngine*) const;
24 
26  void setDbService(const HcalDbService * service);
27 
28  void setThresholdDAC(unsigned int DAC) { theDAC = DAC; }
29  unsigned int getThresholdDAC() { return theDAC; }
30 
31 private:
32  double getThreshold(const HcalGenericDetId & detId, CLHEP::HepRandomEngine*) const;
33  double getHysteresisThreshold(double nominal) const;
34 
37 
38  unsigned int theDAC;
39 
40  double const lsb;
41 };
42 
43 #endif
void timing(const CaloSamples &lf, Digi &digi, CLHEP::HepRandomEngine *) const
adds timing information to the digi
Definition: HcalTDC.cc:17
unsigned int theDAC
Definition: HcalTDC.h:38
const HcalDbService * theDbService
Definition: HcalTDC.h:36
std::tuple< unsigned int, int, int, DigiType, int, int, int, float > Digi
Definition: GenericDigi.h:30
unsigned int getThresholdDAC()
Definition: HcalTDC.h:29
double getHysteresisThreshold(double nominal) const
Definition: HcalTDC.cc:124
void setThresholdDAC(unsigned int DAC)
Definition: HcalTDC.h:28
double const lsb
Definition: HcalTDC.h:40
~HcalTDC()
Definition: HcalTDC.cc:13
HcalTDC(unsigned int thresholdDAC=12)
Definition: HcalTDC.cc:8
void setDbService(const HcalDbService *service)
the Producer will probably update this every event
Definition: HcalTDC.cc:133
double getThreshold(const HcalGenericDetId &detId, CLHEP::HepRandomEngine *) const
Definition: HcalTDC.cc:109
HcalTDCParameters theTDCParameters
Definition: HcalTDC.h:35