CMS 3D CMS Logo

Public Member Functions | Static Public Member Functions | Private Attributes

HPDNoiseDataCatalog Class Reference

#include <HPDNoiseDataCatalog.h>

List of all members.

Public Member Functions

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

Static Public Member Functions

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

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 15 of file HPDNoiseDataCatalog.h.


Constructor & Destructor Documentation

HPDNoiseDataCatalog::HPDNoiseDataCatalog ( ) [inline]

Definition at line 17 of file HPDNoiseDataCatalog.h.

{}
HPDNoiseDataCatalog::~HPDNoiseDataCatalog ( ) [virtual]

Definition at line 10 of file HPDNoiseDataCatalog.cc.

{}

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 21 of file HPDNoiseDataCatalog.h.

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

Referenced by HPDNoiseMaker::addHpd().

                                                                                                                                                            { 
         mHpdName.push_back (fName), mDischargeRate.push_back (fDischargeRate), 
         mIonFeedbackFirstPeakRate.push_back(fIonFeedbackFirstPeakRate),
         mIonFeedbackSecondPeakRate.push_back(fIonFeedbackSecondPeakRate),
         mElectronEmissionRate.push_back(fElectronEmissionRate);
       }
const std::vector<std::string>& HPDNoiseDataCatalog::allNames ( ) const [inline]

all HPD instance names

Definition at line 30 of file HPDNoiseDataCatalog.h.

References mHpdName.

Referenced by HPDNoiseReader::HPDNoiseReader().

{return mHpdName;}
static const char* HPDNoiseDataCatalog::className ( ) [inline, static]

class name

Definition at line 43 of file HPDNoiseDataCatalog.h.

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

get noise rate for the HPD instance

Definition at line 32 of file HPDNoiseDataCatalog.h.

References mDischargeRate.

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

{return (i < mDischargeRate.size()) ? mDischargeRate[i] : 0.;}
float HPDNoiseDataCatalog::getElectronEmissionRate ( size_t  i) const [inline]

get thermal electron emission noise rate for the HPD instance

Definition at line 37 of file HPDNoiseDataCatalog.h.

References mElectronEmissionRate.

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

{return (i < mElectronEmissionRate.size()) ? mElectronEmissionRate[i] : 0.;}
float HPDNoiseDataCatalog::getIonFeedbackFirstPeakRate ( size_t  i) const [inline]

get ion feedback noise rate for the HPD instance

Definition at line 34 of file HPDNoiseDataCatalog.h.

References mIonFeedbackFirstPeakRate.

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

float HPDNoiseDataCatalog::getIonFeedbackSecondPeakRate ( size_t  i) const [inline]

Definition at line 35 of file HPDNoiseDataCatalog.h.

References mIonFeedbackSecondPeakRate.

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

const std::string& HPDNoiseDataCatalog::getName ( size_t  i) const [inline]

get name of the instance

Definition at line 39 of file HPDNoiseDataCatalog.h.

References i, and mHpdName.

Referenced by operator<<().

{return mHpdName[i];}
static const char* HPDNoiseDataCatalog::objectName ( ) [inline, static]

object name

Definition at line 45 of file HPDNoiseDataCatalog.h.

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

{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 12 of file HPDNoiseDataCatalog.cc.

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

Referenced by HPDNoiseMaker::setRate().

                                                                  {
  for (size_t i = 0; i < mHpdName.size(); ++i) {
    if (fName == mHpdName[i]){
        mDischargeRate[i] = fDischargeRate;
        mIonFeedbackFirstPeakRate[i] = fIonFeedbackFirstPeakRate;
        mIonFeedbackSecondPeakRate[i] = fIonFeedbackSecondPeakRate;
        mElectronEmissionRate[i] = fElectronEmissionRate;
    }
  }
}
size_t HPDNoiseDataCatalog::size ( void  ) const [inline]

total number

Definition at line 28 of file HPDNoiseDataCatalog.h.

References mDischargeRate.

Referenced by operator<<().

{return mDischargeRate.size();}

Member Data Documentation

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

Definition at line 48 of file HPDNoiseDataCatalog.h.

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

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

Definition at line 51 of file HPDNoiseDataCatalog.h.

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

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

Definition at line 47 of file HPDNoiseDataCatalog.h.

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

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

Definition at line 49 of file HPDNoiseDataCatalog.h.

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

Definition at line 50 of file HPDNoiseDataCatalog.h.

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