Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members   Related Pages  

CalPedCalib Class Reference

#include <CalPedCalib.h>

Inheritance diagram for CalPedCalib::

CalADCLogs List of all members.

Public Methods

 CalPedCalib ()
 ~CalPedCalib ()
void setFileName (const std::string &filename)
void setNegGain (CalBase::RANGE r, double v)
 define options. More...

void setPosGain (CalBase::RANGE r, double v)
double gain (CalBase::SIDE s, CalBase::RANGE r) const
virtual void clear ()
virtual void make ()

Protected Methods

virtual void ini ()

Private Methods

void readGain (std::istream &file)
void readPedestal (std::istream &file)

Private Attributes

std::string m_fileName
double m_gain [CALNSIDES][CALNRANGES]

Constructor & Destructor Documentation

CalPedCalib::CalPedCalib   [inline]
 

Definition at line 18 of file CalPedCalib.h.

References ini().

00018 {ini(); }

CalPedCalib::~CalPedCalib   [inline]
 

Definition at line 19 of file CalPedCalib.h.

00019 {} 


Member Function Documentation

void CalPedCalib::clear   [virtual]
 

Reimplemented from CalADCLogs.

Definition at line 18 of file CalPedCalib.cpp.

References CALNRANGES, CALNSIDES, and CalADCLogs::clear().

00020 {
00021         CalADCLogs::clear();
00022         for (int iside = 0 ; iside < CALNSIDES; iside++) {
00023                 for (int irange = 0; irange < CALNRANGES ; irange++) 
00024                         m_gain[iside][irange] = 0.;
00025         }
00026 }

double CalPedCalib::gain CalBase::SIDE    s,
CalBase::RANGE    r
const [inline]
 

Definition at line 30 of file CalPedCalib.h.

References m_gain, CalBase::RANGE, and CalBase::SIDE.

00030 {return m_gain[s][r];}

void CalPedCalib::ini   [protected, virtual]
 

Definition at line 9 of file CalPedCalib.cpp.

References CalADCLogs::ini().

Referenced by CalPedCalib().

00011 {
00012         CalADCLogs::ini();
00013 
00014         m_fileName = "";
00015         clear();
00016 }

void CalPedCalib::make   [virtual]
 

Reimplemented from CalADCLogs.

Definition at line 28 of file CalPedCalib.cpp.

00030 {
00031         xml::IFile::extractEnvVar(&m_fileName);
00032         std::cout << " Calorimeter pedestals file : "+m_fileName << std::endl;
00033         if (m_fileName == "") return;
00034         
00035         std::ifstream file ( m_fileName.c_str() );
00036         std::string name = "";
00037         while(!file.eof()) {
00038                 file >> name;
00039                 if (name == "gain") readGain(file);
00040                 if (name == "ped") readPedestal(file);
00041         }
00042         file.close();
00043 }

void CalPedCalib::readGain std::istream &    file [private]
 

Definition at line 46 of file CalPedCalib.cpp.

References CalBase::HE, CalBase::HEX, CalBase::LE, and CalBase::LEX.

00048 {
00049         double gain = 0;
00050 
00051         int idLog = 0;
00052         int ilayer = 0;
00053         int iview = 0;
00054         int icolumn = 0;
00055 
00056         file >> idLog;
00057         file >> ilayer;
00058         file >> iview;
00059         file >> icolumn;
00060         
00061         file >> gain;
00062         setPosGain(CalBase::LEX, gain);
00063         file >> gain;
00064         setPosGain(CalBase::LE,  gain);
00065         file >> gain;
00066         setPosGain(CalBase::HEX, gain);
00067         file >> gain;
00068         setPosGain(CalBase::HE,  gain);
00069 
00070         file >> gain;
00071         setNegGain(CalBase::LEX, gain);
00072         file >> gain;
00073         setNegGain(CalBase::LE,  gain);
00074         file >> gain;
00075         setNegGain(CalBase::HEX, gain);
00076         file >> gain;
00077         setNegGain(CalBase::HE,  gain);
00078 }

void CalPedCalib::readPedestal std::istream &    file [private]
 

Definition at line 81 of file CalPedCalib.cpp.

References CalBase::HE, CalBase::HEX, CalLogID::ID(), CalBase::LE, CalBase::LEX, CalDetGeo::makeAxis(), CalADCLog::setNegADC(), and CalADCLog::setPosADC().

00083 {
00084         int idLog = 0;
00085         int ilayer = 0;
00086         int iview = 0;
00087         int icolumn = 0;
00088 
00089         file >> idLog;
00090         file >> ilayer;
00091         file >> iview;
00092         file >> icolumn;
00093 
00094 
00095         // JAH 04/15/00 new definition
00096  //     if (iview == 0) icolumn = 9-icolumn;
00097 
00098 
00099 
00100         CalADCLog* log = getLogID(CalLogID::ID(ilayer,CalDetGeo::makeAxis(iview),icolumn));
00101 
00102         double pedLEX;
00103         double pedLE;
00104         double pedHEX;
00105         double pedHE;
00106         
00107         pedLEX = 0;
00108         pedLE  = 0;
00109         pedHEX = 0;
00110         pedHE  = 0;
00111 
00112         file >> pedLEX;
00113         file >> pedLE;
00114         file >> pedHEX;
00115         file >> pedHE;
00116 
00117         log->setPosADC(CalBase::LEX, pedLEX);
00118         log->setPosADC(CalBase::LE,  pedLE);
00119         log->setPosADC(CalBase::HEX, pedHEX);
00120         log->setPosADC(CalBase::HE,  pedHE);
00121 
00122         pedLEX = 0;
00123         pedLE  = 0;
00124         pedHEX = 0;
00125         pedHE  = 0;
00126 
00127         file >> pedLEX;
00128         file >> pedLE;
00129         file >> pedHEX;
00130         file >> pedHE;
00131 
00132         log->setNegADC(CalBase::LEX, pedLEX);
00133         log->setNegADC(CalBase::LE,  pedLE);
00134         log->setNegADC(CalBase::HEX, pedHEX);
00135         log->setNegADC(CalBase::HE,  pedHE);
00136 
00137 }

void CalPedCalib::setFileName const std::string &    filename [inline]
 

Definition at line 21 of file CalPedCalib.h.

References m_fileName.

00021 { m_fileName = filename;}

void CalPedCalib::setNegGain CalBase::RANGE    r,
double    v
[inline]
 

define options.

Definition at line 26 of file CalPedCalib.h.

References m_gain, CalBase::NEG, and CalBase::RANGE.

00026 {m_gain[CalBase::NEG][r] = v;}

void CalPedCalib::setPosGain CalBase::RANGE    r,
double    v
[inline]
 

Definition at line 27 of file CalPedCalib.h.

References m_gain, CalBase::POS, and CalBase::RANGE.

00027 {m_gain[CalBase::POS][r] = v;}


Member Data Documentation

std::string CalPedCalib::m_fileName [private]
 

Definition at line 48 of file CalPedCalib.h.

Referenced by setFileName().

double CalPedCalib::m_gain[CALNSIDES][CALNRANGES] [private]
 

Definition at line 49 of file CalPedCalib.h.

Referenced by gain(), setNegGain(), and setPosGain().


The documentation for this class was generated from the following files:
Generated on Thu Nov 29 16:38:53 2001 by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001