CMS 3D CMS Logo

EcalTDigitizer.h
Go to the documentation of this file.
1 #ifndef EcalSimAlgos_EcalTDigitizer_h
2 #define EcalSimAlgos_EcalTDigitizer_h
3 
14 
15 class EcalHitResponse ;
17 
18 namespace CLHEP {
19  class HepRandomEngine;
20 }
21 
22 template< class Traits >
24 {
25  public:
26 
27  typedef typename Traits::ElectronicsSim ElectronicsSim ;
28  typedef typename Traits::Digi Digi ;
29  typedef typename Traits::DigiCollection DigiCollection ;
30  typedef typename Traits::EcalSamples EcalSamples ;
31 
33  ElectronicsSim* electronicsSim ,
34  bool addNoise ) ;
35 
36  virtual ~EcalTDigitizer< Traits >() ;
37 
38  void add(const std::vector<PCaloHit> & hits, int bunchCrossing, CLHEP::HepRandomEngine*);
39 
40  virtual void initializeHits();
41 
42  virtual void run(DigiCollection& output, CLHEP::HepRandomEngine* );
43 
45  DigiCollection& output ) {
46  assert(0);
47  }
48 
49  void setNoiseSignalGenerator(EcalBaseSignalGenerator * noiseSignalGenerator);
50 
51  void addNoiseSignals();
52 
53  protected:
54 
55  bool addNoise() const ;
56 
57  const EcalHitResponse* hitResponse() const ;
58 
59  const ElectronicsSim* elecSim() const ;
60 
61  private:
62 
64  ElectronicsSim* m_electronicsSim ;
65  bool m_addNoise ;
66 
68 
69 };
70 
71 #endif
72 
Traits::DigiCollection DigiCollection
Traits::ElectronicsSim ElectronicsSim
void add(const std::vector< const T * > &source, std::vector< const T * > &dest)
std::tuple< unsigned int, int, int, DigiType, int, int, int, float > Digi
Definition: GenericDigi.h:30
static std::string const input
Definition: EdmProvDump.cc:44
virtual void run(MixCollection< PCaloHit > &input, DigiCollection &output)
Traits::EcalSamples EcalSamples
Traits::Digi Digi
EcalBaseSignalGenerator * theNoiseSignalGenerator
EcalHitResponse * m_hitResponse
ElectronicsSim * m_electronicsSim