test
CMS 3D CMS Logo

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

#include <HPDNoiseDataCatalog.h>

Public Member Functions

void addHpd (const std::string &fName, float fDischargeRate, float fIonFeedbackFirstPeakRate, float fIonFeedbackSecondPeakRate, float fElectronEmissionRate)
 add new HPD instance to the catalog More...
 
const std::vector< std::string > & allNames () const
 all HPD instance names More...
 
float getDischargeRate (size_t i) const
 get noise rate for the HPD instance More...
 
float getElectronEmissionRate (size_t i) const
 get thermal electron emission noise rate for the HPD instance More...
 
float getIonFeedbackFirstPeakRate (size_t i) const
 get ion feedback noise rate for the HPD instance More...
 
float getIonFeedbackSecondPeakRate (size_t i) const
 
const std::string & getName (size_t i) const
 get name of the instance More...
 
 HPDNoiseDataCatalog ()
 
void setRate (const std::string &fName, float fDischargeRate, float fIonFeedbackFirstPeakRate, float fIonFeedbackSecondPeakRate, float fElectronEmissionRate)
 set discharge/IonFeedback/Electron emission noise rates More...
 
size_t size () const
 total number More...
 
virtual ~HPDNoiseDataCatalog ()
 

Static Public Member Functions

static const char * className ()
 class name More...
 
static const char * objectName ()
 object name More...
 

Private Attributes

std::vector< float > mDischargeRate
 
std::vector< float > mElectronEmissionRate
 
std::vector< std::string > mHpdName
 
std::vector< float > mIonFeedbackFirstPeakRate
 
std::vector< float > mIonFeedbackSecondPeakRate
 

Detailed Description

Definition at line 14 of file HPDNoiseDataCatalog.h.

Constructor & Destructor Documentation

HPDNoiseDataCatalog::HPDNoiseDataCatalog ( )
inline

Definition at line 16 of file HPDNoiseDataCatalog.h.

16 {}
HPDNoiseDataCatalog::~HPDNoiseDataCatalog ( )
virtual

Definition at line 9 of file HPDNoiseDataCatalog.cc.

9 {}

Member Function Documentation

void HPDNoiseDataCatalog::addHpd ( const std::string &  fName,
float  fDischargeRate,
float  fIonFeedbackFirstPeakRate,
float  fIonFeedbackSecondPeakRate,
float  fElectronEmissionRate 
)
inline

add new HPD instance to the catalog

Definition at line 20 of file HPDNoiseDataCatalog.h.

References mDischargeRate, mElectronEmissionRate, mHpdName, mIonFeedbackFirstPeakRate, and mIonFeedbackSecondPeakRate.

Referenced by HPDNoiseMaker::addHpd().

20  {
21  mHpdName.push_back (fName), mDischargeRate.push_back (fDischargeRate),
22  mIonFeedbackFirstPeakRate.push_back(fIonFeedbackFirstPeakRate),
23  mIonFeedbackSecondPeakRate.push_back(fIonFeedbackSecondPeakRate),
24  mElectronEmissionRate.push_back(fElectronEmissionRate);
25  }
std::vector< float > mIonFeedbackSecondPeakRate
std::vector< float > mIonFeedbackFirstPeakRate
std::vector< float > mElectronEmissionRate
std::vector< float > mDischargeRate
std::vector< std::string > mHpdName
const std::vector<std::string>& HPDNoiseDataCatalog::allNames ( ) const
inline

all HPD instance names

Definition at line 29 of file HPDNoiseDataCatalog.h.

References mHpdName.

Referenced by HPDNoiseReader::HPDNoiseReader().

29 {return mHpdName;}
std::vector< std::string > mHpdName
static const char* HPDNoiseDataCatalog::className ( )
inlinestatic

class name

Definition at line 42 of file HPDNoiseDataCatalog.h.

42 {return "HPDNoiseDataCatalog";}
float HPDNoiseDataCatalog::getDischargeRate ( size_t  i) const
inline

get noise rate for the HPD instance

Definition at line 31 of file HPDNoiseDataCatalog.h.

References mDischargeRate.

Referenced by HPDNoiseReader::HPDNoiseReader(), and operator<<().

31 {return (i < mDischargeRate.size()) ? mDischargeRate[i] : 0.;}
int i
Definition: DBlmapReader.cc:9
std::vector< float > mDischargeRate
float HPDNoiseDataCatalog::getElectronEmissionRate ( size_t  i) const
inline

get thermal electron emission noise rate for the HPD instance

Definition at line 36 of file HPDNoiseDataCatalog.h.

References mElectronEmissionRate.

Referenced by HPDNoiseReader::HPDNoiseReader(), and operator<<().

36 {return (i < mElectronEmissionRate.size()) ? mElectronEmissionRate[i] : 0.;}
int i
Definition: DBlmapReader.cc:9
std::vector< float > mElectronEmissionRate
float HPDNoiseDataCatalog::getIonFeedbackFirstPeakRate ( size_t  i) const
inline

get ion feedback noise rate for the HPD instance

Definition at line 33 of file HPDNoiseDataCatalog.h.

References mIonFeedbackFirstPeakRate.

Referenced by HPDNoiseReader::HPDNoiseReader(), and operator<<().

33 {return (i < mIonFeedbackFirstPeakRate.size()) ? mIonFeedbackFirstPeakRate[i] : 0.;}
int i
Definition: DBlmapReader.cc:9
std::vector< float > mIonFeedbackFirstPeakRate
float HPDNoiseDataCatalog::getIonFeedbackSecondPeakRate ( size_t  i) const
inline

Definition at line 34 of file HPDNoiseDataCatalog.h.

References mIonFeedbackSecondPeakRate.

Referenced by HPDNoiseReader::HPDNoiseReader(), and operator<<().

34 {return (i < mIonFeedbackSecondPeakRate.size()) ? mIonFeedbackSecondPeakRate[i] : 0.;}
std::vector< float > mIonFeedbackSecondPeakRate
int i
Definition: DBlmapReader.cc:9
const std::string& HPDNoiseDataCatalog::getName ( size_t  i) const
inline

get name of the instance

Definition at line 38 of file HPDNoiseDataCatalog.h.

References i, and mHpdName.

Referenced by plotting.Plot::draw(), and operator<<().

38 {return mHpdName[i];}
int i
Definition: DBlmapReader.cc:9
std::vector< std::string > mHpdName
static const char* HPDNoiseDataCatalog::objectName ( )
inlinestatic

object name

Definition at line 44 of file HPDNoiseDataCatalog.h.

Referenced by HPDNoiseReader::HPDNoiseReader(), and HPDNoiseMaker::~HPDNoiseMaker().

44 {return "catalog";}
void HPDNoiseDataCatalog::setRate ( const std::string &  fName,
float  fDischargeRate,
float  fIonFeedbackFirstPeakRate,
float  fIonFeedbackSecondPeakRate,
float  fElectronEmissionRate 
)

set discharge/IonFeedback/Electron emission noise rates

Definition at line 11 of file HPDNoiseDataCatalog.cc.

References i, mDischargeRate, mElectronEmissionRate, mHpdName, mIonFeedbackFirstPeakRate, and mIonFeedbackSecondPeakRate.

Referenced by HPDNoiseMaker::setRate().

13  {
14  for (size_t i = 0; i < mHpdName.size(); ++i) {
15  if (fName == mHpdName[i]){
16  mDischargeRate[i] = fDischargeRate;
17  mIonFeedbackFirstPeakRate[i] = fIonFeedbackFirstPeakRate;
18  mIonFeedbackSecondPeakRate[i] = fIonFeedbackSecondPeakRate;
19  mElectronEmissionRate[i] = fElectronEmissionRate;
20  }
21  }
22 }
std::vector< float > mIonFeedbackSecondPeakRate
int i
Definition: DBlmapReader.cc:9
std::vector< float > mIonFeedbackFirstPeakRate
std::vector< float > mElectronEmissionRate
std::vector< float > mDischargeRate
std::vector< std::string > mHpdName
size_t HPDNoiseDataCatalog::size ( void  ) const
inline

total number

Definition at line 27 of file HPDNoiseDataCatalog.h.

References mDischargeRate.

Referenced by operator<<().

27 {return mDischargeRate.size();}
std::vector< float > mDischargeRate

Member Data Documentation

std::vector<float> HPDNoiseDataCatalog::mDischargeRate
private

Definition at line 47 of file HPDNoiseDataCatalog.h.

Referenced by addHpd(), getDischargeRate(), setRate(), and size().

std::vector<float> HPDNoiseDataCatalog::mElectronEmissionRate
private

Definition at line 50 of file HPDNoiseDataCatalog.h.

Referenced by addHpd(), getElectronEmissionRate(), and setRate().

std::vector<std::string> HPDNoiseDataCatalog::mHpdName
private

Definition at line 46 of file HPDNoiseDataCatalog.h.

Referenced by addHpd(), allNames(), getName(), and setRate().

std::vector<float> HPDNoiseDataCatalog::mIonFeedbackFirstPeakRate
private

Definition at line 48 of file HPDNoiseDataCatalog.h.

Referenced by addHpd(), getIonFeedbackFirstPeakRate(), and setRate().

std::vector<float> HPDNoiseDataCatalog::mIonFeedbackSecondPeakRate
private

Definition at line 49 of file HPDNoiseDataCatalog.h.

Referenced by addHpd(), getIonFeedbackSecondPeakRate(), and setRate().