CMS 3D CMS Logo

HPDNoiseMaker Class Reference

#include <SimCalorimetry/HcalSimAlgos/interface/HPDNoiseMaker.h>

List of all members.

Public Member Functions

int addHpd (const std::string &fName)
 define new HPD instance
 HPDNoiseMaker (const std::string &fFileName)
void newHpdEvent (size_t i, const HPDNoiseData &mData)
 add new HPD noise event by HPD index
void newHpdEvent (const std::string &mName, const HPDNoiseData &mData)
 add new HPD noise event by HPD name
void setRate (const std::string &fName, float fRate)
 set noise rate for the instance
unsigned long totalEntries (const std::string &mName) const
 get number of stored events by HPD index
 ~HPDNoiseMaker ()

Private Member Functions

 HPDNoiseMaker (const HPDNoiseMaker &)
HPDNoiseMakeroperator= (const HPDNoiseMaker &)

Private Attributes

HPDNoiseDataCatalogmCatalog
TFile * mFile
std::vector< std::string > mNames
std::vector< TTree * > mTrees


Detailed Description

Definition at line 19 of file HPDNoiseMaker.h.


Constructor & Destructor Documentation

HPDNoiseMaker::HPDNoiseMaker ( const std::string &  fFileName  ) 

Definition at line 20 of file HPDNoiseMaker.cc.

References mCatalog, and mFile.

00020                                                         {
00021   mFile = new TFile (fFileName.c_str(), "RECREATE");
00022   mCatalog = new HPDNoiseDataCatalog ();
00023 }

HPDNoiseMaker::~HPDNoiseMaker (  ) 

Definition at line 25 of file HPDNoiseMaker.cc.

References i, mCatalog, mFile, and mTrees.

00025                                {
00026   mFile->cd();  
00027   for (size_t i = 0; i < mTrees.size(); ++i) {
00028     mTrees[i]->Write();
00029     delete mTrees[i];
00030   }
00031   mCatalog->Write();
00032   delete mCatalog;
00033   delete mFile;
00034 }

HPDNoiseMaker::HPDNoiseMaker ( const HPDNoiseMaker  )  [private]


Member Function Documentation

int HPDNoiseMaker::addHpd ( const std::string &  fName  ) 

define new HPD instance

Definition at line 36 of file HPDNoiseMaker.cc.

References HPDNoiseDataCatalog::addHpd(), addr, mCatalog, mFile, mNames, and mTrees.

00036                                                  {
00037    TDirectory* currentDirectory = gDirectory;
00038    mFile->cd();
00039   mCatalog->addHpd (fName, 0.);
00040   mNames.push_back (fName);
00041   mTrees.push_back (new TTree (fName.c_str(), fName.c_str()));
00042   void* addr = 0;
00043   mTrees.back()->Branch ("HPDNoiseData", "HPDNoiseData", &addr, 32000, 1);
00044    currentDirectory->cd();
00045   return mNames.size();
00046 }

void HPDNoiseMaker::newHpdEvent ( size_t  i,
const HPDNoiseData mData 
)

add new HPD noise event by HPD index

Definition at line 60 of file HPDNoiseMaker.cc.

References data, and mTrees.

00060                                                                     {
00061   if (i < mTrees.size()) {
00062     HPDNoiseData* data = (HPDNoiseData*) &fData;
00063     mTrees[i]->GetBranch ("HPDNoiseData")->SetAddress(&data);
00064     mTrees[i]->Fill();
00065   }
00066 }

void HPDNoiseMaker::newHpdEvent ( const std::string &  mName,
const HPDNoiseData mData 
)

add new HPD noise event by HPD name

Definition at line 52 of file HPDNoiseMaker.cc.

References i, and mNames.

00052                                                                                   {
00053   for (size_t i = 0; i < mNames.size(); ++i) {
00054     if (mNames[i] == fName) {
00055       newHpdEvent (i, fData);
00056     }
00057   }
00058 }

HPDNoiseMaker& HPDNoiseMaker::operator= ( const HPDNoiseMaker  )  [private]

void HPDNoiseMaker::setRate ( const std::string &  fName,
float  fRate 
)

set noise rate for the instance

Definition at line 48 of file HPDNoiseMaker.cc.

References mCatalog, and HPDNoiseDataCatalog::setRate().

00048                                                                 {
00049   mCatalog->setRate (fName, fRate);
00050 }

unsigned long HPDNoiseMaker::totalEntries ( const std::string &  mName  )  const

get number of stored events by HPD index

Definition at line 68 of file HPDNoiseMaker.cc.

References i, mNames, and mTrees.

00068                                                                        {
00069   for (size_t i = 0; i < mNames.size(); ++i) {
00070     if (mNames[i] == fName) return mTrees[i]->GetEntries ();
00071   }
00072   return 0;
00073 }


Member Data Documentation

HPDNoiseDataCatalog* HPDNoiseMaker::mCatalog [private]

Definition at line 42 of file HPDNoiseMaker.h.

Referenced by addHpd(), HPDNoiseMaker(), setRate(), and ~HPDNoiseMaker().

TFile* HPDNoiseMaker::mFile [private]

Definition at line 39 of file HPDNoiseMaker.h.

Referenced by addHpd(), HPDNoiseMaker(), and ~HPDNoiseMaker().

std::vector<std::string> HPDNoiseMaker::mNames [private]

Definition at line 41 of file HPDNoiseMaker.h.

Referenced by addHpd(), newHpdEvent(), and totalEntries().

std::vector<TTree*> HPDNoiseMaker::mTrees [private]

Definition at line 40 of file HPDNoiseMaker.h.

Referenced by addHpd(), newHpdEvent(), totalEntries(), and ~HPDNoiseMaker().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:24:47 2009 for CMSSW by  doxygen 1.5.4