CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
CaloHitRespoNew.h
Go to the documentation of this file.
1 #ifndef CaloSimAlgos_CaloHitRespoNew_h
2 #define CaloSimAlgos_CaloHitRespoNew_h
3 
8 
9 #include<vector>
10 
20 class CaloVShape ;
22 class CaloVHitCorrection ;
23 class CaloVHitFilter ;
24 class CaloSimParameters ;
26 class CaloVPECorrection ;
27 namespace CLHEP
28 {
29  class RandPoissonQ ;
30  class RandGaussQ ;
31  class HepRandomEngine ;
32 }
33 
35 {
36  public:
37 
38  typedef std::vector< CaloSamples > VecSam ;
39  typedef std::vector< unsigned int > VecInd ;
40 
41  enum {BUNCHSPACE=25};
42 
43  CaloHitRespoNew( const CaloVSimParameterMap* parameterMap ,
44  const CaloVShape* shape ,
45  const DetId detId ) ;
46 
47  virtual ~CaloHitRespoNew() ;
48 
49  void setBunchRange( int minBunch ,
50  int maxBunch ) ;
51 
53 
54  void setPhaseShift( double phaseShift ) ;
55 
56  void setHitFilter( const CaloVHitFilter* filter) ;
57 
58  void setHitCorrection( const CaloVHitCorrection* hitCorrection) ;
59 
60  void setPECorrection( const CaloVPECorrection* peCorrection ) ;
61 
62  virtual void setRandomEngine( CLHEP::HepRandomEngine& engine ) const ;
63 
64  virtual void run( MixCollection<PCaloHit>& hits ) ;
65 
66  unsigned int samplesSize() const ;
67 
68  const CaloSamples& operator[]( unsigned int i ) const ;
69 
70  protected:
71 
72  CaloSamples* findSignal( const DetId& detId ) ;
73 
74  virtual void putAnalogSignal( const PCaloHit& inputHit) ;
75 
76  double analogSignalAmplitude( const PCaloHit& hit ) const;
77 
78  double timeOfFlight( const DetId& detId ) const ;
79 
80  double phaseShift() const ;
81 
82  CLHEP::RandPoissonQ* ranPois() const ;
83 
84  CLHEP::RandGaussQ* ranGauss() const ;
85 
86  void setupSamples( const DetId& detId ) ;
87 
88  void blankOutUsedSamples() ;
89 
90  const CaloSimParameters* params( const DetId& detId ) const ;
91 
92  const CaloVShape* shape() const ;
93 
94  const CaloSubdetectorGeometry* geometry() const ;
95 
96  int minBunch() const { return m_minBunch ; }
97 
98  int maxBunch() const { return m_maxBunch ; }
99 
100  VecInd& index() { return m_index ; }
101 
102  const CaloVHitFilter* hitFilter() const { return m_hitFilter ; }
103 
104  private:
105 
112 
113  mutable CLHEP::RandPoissonQ* m_RandPoisson ;
114 
115  mutable CLHEP::RandGaussQ* m_RandGauss ;
116 
119  double m_phaseShift ;
120 
123 };
124 
125 #endif
void setupSamples(const DetId &detId)
CLHEP::RandPoissonQ * m_RandPoisson
void setHitFilter(const CaloVHitFilter *filter)
int i
Definition: DBlmapReader.cc:9
void setHitCorrection(const CaloVHitCorrection *hitCorrection)
const CaloVPECorrection * m_PECorrection
CLHEP::RandGaussQ * m_RandGauss
double timeOfFlight(const DetId &detId) const
Creates electronics signals from hits.
int maxBunch() const
const CaloVShape * shape() const
void setBunchRange(int minBunch, int maxBunch)
Electronic response of the preamp.
Definition: CaloVShape.h:11
const CaloVHitFilter * hitFilter() const
virtual void run(MixCollection< PCaloHit > &hits)
Main class for Parameters in different subdetectors.
CaloSamples * findSignal(const DetId &detId)
double phaseShift() const
CLHEP::RandGaussQ * ranGauss() const
void setGeometry(const CaloSubdetectorGeometry *geometry)
virtual void putAnalogSignal(const PCaloHit &inputHit)
const CaloSubdetectorGeometry * geometry() const
const CaloVSimParameterMap * m_parameterMap
std::vector< CaloSamples > VecSam
virtual void setRandomEngine(CLHEP::HepRandomEngine &engine) const
double analogSignalAmplitude(const PCaloHit &hit) const
void setPECorrection(const CaloVPECorrection *peCorrection)
void setPhaseShift(double phaseShift)
const CaloSamples & operator[](unsigned int i) const
CaloHitRespoNew(const CaloVSimParameterMap *parameterMap, const CaloVShape *shape, const DetId detId)
Definition: DetId.h:20
virtual ~CaloHitRespoNew()
const CaloSubdetectorGeometry * m_geometry
std::vector< unsigned int > VecInd
unsigned int samplesSize() const
const CaloSimParameters * params(const DetId &detId) const
const CaloVShape * m_shape
CLHEP::RandPoissonQ * ranPois() const
int minBunch() const
const CaloVHitCorrection * m_hitCorrection
const CaloVHitFilter * m_hitFilter