CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
SiPixelDigitizerAlgorithm::Amplitude Class Reference

Public Member Functions

float ampl () const
 
 Amplitude ()
 
 Amplitude (float amp, float frac)
 
 Amplitude (float amp, const PSimHit *hitp, size_t hitIndex, unsigned int tofBin, float frac)
 
const EncodedEventIdeventId () const
 
const unsigned int hitIndex () const
 
const std::shared_ptr
< SimHitInfoForLinks > & 
hitInfo () const
 
std::vector< float > individualampl () const
 
 operator float () const
 
void operator+= (const Amplitude &other)
 
void operator+= (const float &amp)
 
void set (const float amplitude)
 
const unsigned int tofBin () const
 
const std::vector< unsigned int > & trackIds () const
 

Private Attributes

float _amp
 
std::vector< float > _frac
 
std::shared_ptr
< SimHitInfoForLinks
_hitInfo
 

Detailed Description

Definition at line 86 of file SiPixelDigitizerAlgorithm.h.

Constructor & Destructor Documentation

SiPixelDigitizerAlgorithm::Amplitude::Amplitude ( )
inline
SiPixelDigitizerAlgorithm::Amplitude::Amplitude ( float  amp,
float  frac 
)
inline

Definition at line 89 of file SiPixelDigitizerAlgorithm.h.

References _frac.

89  :
90  _amp(amp), _frac(1, frac), _hitInfo() {
91  //in case of digi from noisypixels
92  //the MC information are removed
93  if (_frac[0]<-0.5) {
94  _frac.pop_back();
95  }
96  }
std::shared_ptr< SimHitInfoForLinks > _hitInfo
SiPixelDigitizerAlgorithm::Amplitude::Amplitude ( float  amp,
const PSimHit hitp,
size_t  hitIndex,
unsigned int  tofBin,
float  frac 
)
inline

Definition at line 98 of file SiPixelDigitizerAlgorithm.h.

References _frac, and _hitInfo.

98  :
99  _amp(amp), _frac(1, frac), _hitInfo(new SimHitInfoForLinks(hitp, hitIndex, tofBin) ) {
100 
101  //in case of digi from noisypixels
102  //the MC information are removed
103  if (_frac[0]<-0.5) {
104  _frac.pop_back();
105  _hitInfo->trackIds_.pop_back();
106  }
107  }
std::shared_ptr< SimHitInfoForLinks > _hitInfo

Member Function Documentation

float SiPixelDigitizerAlgorithm::Amplitude::ampl ( ) const
inline

Definition at line 111 of file SiPixelDigitizerAlgorithm.h.

References _amp.

const EncodedEventId& SiPixelDigitizerAlgorithm::Amplitude::eventId ( ) const
inline

Definition at line 135 of file SiPixelDigitizerAlgorithm.h.

References _hitInfo.

135  {
136  return _hitInfo->eventId_;
137  }
std::shared_ptr< SimHitInfoForLinks > _hitInfo
const unsigned int SiPixelDigitizerAlgorithm::Amplitude::hitIndex ( ) const
inline

Definition at line 138 of file SiPixelDigitizerAlgorithm.h.

References _hitInfo.

138  {
139  return _hitInfo->hitIndex_;
140  }
std::shared_ptr< SimHitInfoForLinks > _hitInfo
const std::shared_ptr<SimHitInfoForLinks>& SiPixelDigitizerAlgorithm::Amplitude::hitInfo ( ) const
inline

Definition at line 116 of file SiPixelDigitizerAlgorithm.h.

References _hitInfo.

116 {return _hitInfo;}
std::shared_ptr< SimHitInfoForLinks > _hitInfo
std::vector<float> SiPixelDigitizerAlgorithm::Amplitude::individualampl ( ) const
inline

Definition at line 112 of file SiPixelDigitizerAlgorithm.h.

References _frac.

112 {return _frac;}
SiPixelDigitizerAlgorithm::Amplitude::operator float ( ) const
inline

Definition at line 110 of file SiPixelDigitizerAlgorithm.h.

References _amp.

void SiPixelDigitizerAlgorithm::Amplitude::operator+= ( const Amplitude other)
inline

Definition at line 118 of file SiPixelDigitizerAlgorithm.h.

References _amp, _frac, _hitInfo, and trackIds().

118  {
119  _amp += other._amp;
120  //in case of contribution of noise to the digi
121  //the MC information are removed
122  if (other._frac[0]>-0.5){
123  if(other._hitInfo) {
124  std::vector<unsigned int>& otherTrackIds = other._hitInfo->trackIds_;
125  if(_hitInfo) {
126  std::vector<unsigned int>& trackIds = _hitInfo->trackIds_;
127  trackIds.insert(trackIds.end(), otherTrackIds.begin(), otherTrackIds.end());
128  } else {
129  _hitInfo.reset(new SimHitInfoForLinks(*other._hitInfo));
130  }
131  }
132  _frac.insert(_frac.end(), other._frac.begin(), other._frac.end());
133  }
134  }
std::shared_ptr< SimHitInfoForLinks > _hitInfo
const std::vector< unsigned int > & trackIds() const
void SiPixelDigitizerAlgorithm::Amplitude::operator+= ( const float &  amp)
inline

Definition at line 144 of file SiPixelDigitizerAlgorithm.h.

References _amp.

144  {
145  _amp += amp;
146  }
void SiPixelDigitizerAlgorithm::Amplitude::set ( const float  amplitude)
inline

Definition at line 148 of file SiPixelDigitizerAlgorithm.h.

References _amp.

Referenced by betterConfigParser.BetterConfigParser::getGeneral().

148  { // Used to reset the amplitude
149  _amp = amplitude;
150  }
const unsigned int SiPixelDigitizerAlgorithm::Amplitude::tofBin ( ) const
inline

Definition at line 141 of file SiPixelDigitizerAlgorithm.h.

References _hitInfo.

141  {
142  return _hitInfo->tofBin_;
143  }
std::shared_ptr< SimHitInfoForLinks > _hitInfo
const std::vector<unsigned int>& SiPixelDigitizerAlgorithm::Amplitude::trackIds ( ) const
inline

Definition at line 113 of file SiPixelDigitizerAlgorithm.h.

References _hitInfo.

Referenced by operator+=().

113  {
114  return _hitInfo->trackIds_;
115  }
std::shared_ptr< SimHitInfoForLinks > _hitInfo

Member Data Documentation

float SiPixelDigitizerAlgorithm::Amplitude::_amp
private

Definition at line 155 of file SiPixelDigitizerAlgorithm.h.

Referenced by ampl(), operator float(), operator+=(), and set().

std::vector<float> SiPixelDigitizerAlgorithm::Amplitude::_frac
private

Definition at line 156 of file SiPixelDigitizerAlgorithm.h.

Referenced by Amplitude(), individualampl(), and operator+=().

std::shared_ptr<SimHitInfoForLinks> SiPixelDigitizerAlgorithm::Amplitude::_hitInfo
private