CMS 3D CMS Logo

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
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:40
unsigned int getThresholdDAC()
Definition: HcalTDC.h:29
void setThresholdDAC(unsigned int DAC)
Definition: HcalTDC.h:28
double const lsb
Definition: HcalTDC.h:40
HcalTDCParameters theTDCParameters
Definition: HcalTDC.h:35