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 
46  virtual ~CaloHitRespoNew() ;
47 
48  void setBunchRange( int minBunch ,
49  int maxBunch ) ;
50 
52 
53  void setPhaseShift( double phaseShift ) ;
54 
55  void setHitFilter( const CaloVHitFilter* filter) ;
56 
57  void setHitCorrection( const CaloVHitCorrection* hitCorrection) ;
58 
59  void setPECorrection( const CaloVPECorrection* peCorrection ) ;
60 
61  virtual void setRandomEngine( CLHEP::HepRandomEngine& engine ) const ;
62 
63  virtual void run( MixCollection<PCaloHit>& hits ) ;
64 
65  unsigned int samplesSize() const ;
66 
67  const CaloSamples& operator[]( unsigned int i ) const ;
68 
69  protected:
70 
71  CaloSamples* findSignal( const DetId& detId ) ;
72 
73  virtual void putAnalogSignal( const PCaloHit& inputHit) ;
74 
75  double analogSignalAmplitude( const PCaloHit& hit ) const;
76 
77  double timeOfFlight( const DetId& detId ) const ;
78 
79  double phaseShift() const ;
80 
81  CLHEP::RandPoissonQ* ranPois() const ;
82 
83  CLHEP::RandGaussQ* ranGauss() const ;
84 
85  void setupSamples( const DetId& detId ) ;
86 
87  void blankOutUsedSamples() ;
88 
89  const CaloSimParameters* params( const DetId& detId ) const ;
90 
91  const CaloVShape* shape() const ;
92 
93  const CaloSubdetectorGeometry* geometry() const ;
94 
95  private:
96 
103 
104  mutable CLHEP::RandPoissonQ* m_RandPoisson ;
105 
106  mutable CLHEP::RandGaussQ* m_RandGauss ;
107 
110  double m_phaseShift ;
111  bool m_setup ;
112 
115 };
116 
117 #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.
const CaloVShape * shape() const
void setBunchRange(int minBunch, int maxBunch)
Electronic response of the preamp.
Definition: CaloVShape.h:11
virtual void run(MixCollection< PCaloHit > &hits)
Main class for Parameters in different subdetectors.
CaloHitRespoNew(const CaloVSimParameterMap *parameterMap, const CaloVShape *shape)
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
Definition: DetId.h:20
virtual ~CaloHitRespoNew()
tuple filter
USE THIS FOR SKIMMED TRACKS process.p = cms.Path(process.hltLevel1GTSeed*process.skimming*process.offlineBeamSpot*process.TrackRefitter2) OTHERWISE USE THIS.
Definition: align_tpl.py:86
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
const CaloVHitCorrection * m_hitCorrection
const CaloVHitFilter * m_hitFilter