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

CalPedCalib.cpp

Go to the documentation of this file.
00001 
00002 #include "CalRecon/CalPedCalib.h"
00003 // #include "Event/messageManager.h"
00004 #include "xml/IFile.h"
00005 
00006 #include <fstream>
00007 
00008 //######################################
00009 void CalPedCalib::ini()
00010 //######################################
00011 {
00012         CalADCLogs::ini();
00013 
00014         m_fileName = "";
00015         clear();
00016 }
00017 //######################################
00018 void CalPedCalib::clear()
00019 //######################################
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 }
00027 //######################################
00028 void CalPedCalib::make()
00029 //######################################
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 }
00044 
00045 //################################################
00046 void CalPedCalib::readGain(std::istream& file)
00047 //################################################
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 }
00079 
00080 //################################################
00081 void CalPedCalib::readPedestal(std::istream& file)
00082 //################################################
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 }
00138 /*
00139 //################################################
00140 void CalPedCalib::defineOption()
00141 //################################################
00142 {
00143         optionVI::defineOption("PedestalFileName",&m_fileName);
00144 }
00145 */

Generated on Thu Nov 29 16:38:48 2001 by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001