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

CalCalibLogs.h

Go to the documentation of this file.
00001 #ifndef CALCALIBLOGS_H
00002 #define CALCALIBLOGS_H 1
00003 
00004 #include <string>
00005 // #include "Event/serviceI.h"
00006 // #include "Event/trsDataVI.h"
00007 
00008 #include "CalRecon/CalBase.h"
00009 #include "CalRecon/CalLogID.h"
00010 
00011 class CalCalibLog : public CalLogID
00012 {
00013 public:
00014 
00015 //constructor
00016 CalCalibLog(int ilayer, int iview, int column);
00017 ~CalCalibLog() {}
00018 
00019 double getBrkpt( int side, int range)const {return m_brkpt[side][range];}
00020 double getCoefa( int i,int side,int range)const {return m_coefa[i][side][range];}
00021 double getCoefb( int i,int side,int range)const {return m_coefb[i][side][range];}
00022 double getGain(int side,int range)const {return m_gain[side][range];}
00023 double getRail(int side,int range)const {return m_rail[side][range];}
00024 double getSlope(int range)const {return m_slope[range];}
00025 void readIntlin(std::istream& file,int side,int range);
00026 void readGain(std::istream& file, int side);
00027 void readRail(std::istream& file, int side);
00028 void readSlope(std::istream& file);
00029 double adc_to_MeV(double adc, int side, int range) const;
00030 private:
00031 
00032         double m_brkpt[CALNSIDES][CALNRANGES];
00033         double m_coefa[3][CALNSIDES][CALNRANGES];
00034         double m_coefb[3][CALNSIDES][CALNRANGES];
00035         double m_gain[CALNSIDES][CALNRANGES];
00036         double m_rail[CALNSIDES][CALNRANGES];
00037         double m_slope[CALNRANGES];
00038 };
00039 
00040 class CalCalibLogs 
00041 {
00042 public:
00043 
00044         CalCalibLogs(int nLogs = 10, int nLayers = 4) { ini(nLogs,nLayers);}
00045         ~CalCalibLogs();
00046 
00047         void setFileNames(const std::string& IntlinFileName,
00048                                           const std::string& GainFileName,
00049                                           const std::string& RailFileName,
00050                                           const std::string& SlopeFileName)
00051         {
00052 
00053                 m_IntlinFile = IntlinFileName;
00054                 m_GainFile   = GainFileName;
00055                 m_RailFile   = RailFileName;
00056                 m_SlopeFile  = SlopeFileName;
00057 
00058         }
00059 
00060         
00061         void readGain();
00062         void readIntlin();
00063         void readRail();
00064         void readSlope();
00065         virtual void make();
00066         virtual void clear() {}
00067         virtual void ini(int nLogs, int nLayers);
00068 
00069         // access
00070         int num()                 const {return m_List.size();}
00071         CalCalibLog* Log(int i)     const {return m_List[i];}   
00072         CalCalibLog* getLogID(int i) const;
00073 
00074 private:
00075 
00076         std::string m_IntlinFile;
00077         std::string m_GainFile;
00078         std::string m_RailFile;
00079         std::string m_SlopeFile;
00080         std::vector<CalCalibLog*> m_List;
00081 
00082 };
00083 #endif

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