CMS 3D CMS Logo

HcalDigitizerTraits.h
Go to the documentation of this file.
1 #ifndef HcalSimAlgos_HcalDigitizerTraits_h
2 #define HcalSimAlgos_HcalDigitizerTraits_h
5 
7 public:
9  typedef HBHEDataFrame Digi;
11  static constexpr double PreMixFactor = 10.0;
12  static const unsigned PreMixBits = 126;
13 };
14 
15 
17 public:
19  typedef HODataFrame Digi;
21  static constexpr double PreMixFactor = 10.0;
22  static const unsigned PreMixBits = 126;
23 };
24 
25 
27 public:
29  typedef HFDataFrame Digi;
31  static constexpr double PreMixFactor = 10.0;
32  static const unsigned PreMixBits = 126;
33 };
34 
35 
37 public:
39  typedef ZDCDataFrame Digi;
41  static constexpr double PreMixFactor = 10.0;
42  static const unsigned PreMixBits = 126;
43 };
44 
45 template<class Traits>
47 public:
48  typedef typename Traits::ElectronicsSim ElectronicsSim;
49  typedef typename Traits::Digi Digi;
50  typedef typename Traits::DigiCollection DigiCollection;
51 
52  void operator()(DigiCollection & output, CLHEP::HepRandomEngine* engine, CaloSamples * analogSignal, std::vector<DetId>::const_iterator idItr, ElectronicsSim* theElectronicsSim){
53  Digi digi(*idItr);
54  theElectronicsSim->analogToDigital(engine, *analogSignal , digi, Traits::PreMixFactor, Traits::PreMixBits);
55  output.push_back(std::move(digi));
56  }
57 
58 };
59 
60 #endif
61 
static const unsigned PreMixBits
ZDCDigiCollection DigiCollection
HFDigiCollection DigiCollection
HcalElectronicsSim ElectronicsSim
HBHEDigiCollection DigiCollection
std::tuple< unsigned int, int, int, DigiType, int, int, int, float > Digi
Definition: GenericDigi.h:30
#define constexpr
Traits::DigiCollection DigiCollection
HcalElectronicsSim ElectronicsSim
static double PreMixFactor
HcalElectronicsSim ElectronicsSim
void operator()(DigiCollection &output, CLHEP::HepRandomEngine *engine, CaloSamples *analogSignal, std::vector< DetId >::const_iterator idItr, ElectronicsSim *theElectronicsSim)
Traits::ElectronicsSim ElectronicsSim
HcalElectronicsSim ElectronicsSim
def move(src, dest)
Definition: eostools.py:510
HODigiCollection DigiCollection