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 
9 #include "CLHEP/Random/RandGaussQ.h"
10 class HcalDbService;
11 
12 class HcalTDC {
13 
14 public:
15  HcalTDC(unsigned int thresholdDAC = 12);
16  ~HcalTDC();
17 
19  void timing(const CaloSamples & lf, HcalUpgradeDataFrame & digi) const;
20 
22  void setDbService(const HcalDbService * service);
23  void setRandomEngine(CLHEP::HepRandomEngine & engine);
24 
25  void setThresholdDAC(unsigned int DAC) { theDAC = DAC; }
26  unsigned int getThresholdDAC() { return theDAC; }
27 
28 private:
29  double getThreshold(const HcalGenericDetId & detId) const;
30  double getHysteresisThreshold(double nominal) const;
31 
34 
35  unsigned int theDAC;
36 
37  double const lsb;
38 
39  mutable CLHEP::RandGaussQ * theRandGaussQ;
40 };
41 
42 #endif
43 
double getThreshold(const HcalGenericDetId &detId) const
Definition: HcalTDC.cc:108
void setRandomEngine(CLHEP::HepRandomEngine &engine)
Definition: HcalTDC.cc:132
unsigned int theDAC
Definition: HcalTDC.h:35
const HcalDbService * theDbService
Definition: HcalTDC.h:33
unsigned int getThresholdDAC()
Definition: HcalTDC.h:26
double getHysteresisThreshold(double nominal) const
Definition: HcalTDC.cc:123
CLHEP::RandGaussQ * theRandGaussQ
Definition: HcalTDC.h:39
void setThresholdDAC(unsigned int DAC)
Definition: HcalTDC.h:25
void timing(const CaloSamples &lf, HcalUpgradeDataFrame &digi) const
adds timing information to the digi
Definition: HcalTDC.cc:16
double const lsb
Definition: HcalTDC.h:37
~HcalTDC()
Definition: HcalTDC.cc:12
HcalTDC(unsigned int thresholdDAC=12)
Definition: HcalTDC.cc:6
void setDbService(const HcalDbService *service)
the Producer will probably update this every event
Definition: HcalTDC.cc:136
HcalTDCParameters theTDCParameters
Definition: HcalTDC.h:32