00001 00002 00003 #ifndef __CALRECLOGSALG_H 00004 #define __CALRECLOGSALG_H 1 00005 00006 #include "GaudiKernel/Algorithm.h" 00007 #include "ICalGeometrySvc.h" 00008 class CalPedCalib; 00009 class CalCalibLogs; 00010 class CalCalibLog; 00011 00012 class CalADCLogs; 00013 class CalRecLogs; 00014 00015 class CalRecLog; 00016 class CalADCLog; 00017 class CalDetGeo; 00018 00019 //---------------------------------------------- 00020 // 00021 // CalRecLogsAlg 00022 // 00023 // Algorithm Data constructor of CalRecLogs 00024 //---------------------------------------------- 00025 // J.A Hernando, Santa Cruz 02/29/00 00026 //---------------------------------------------- 00027 //########################################################## 00028 class CalRecLogsAlg : public Algorithm 00029 //########################################################## 00030 { 00031 public: 00032 00033 // constructor 00034 CalRecLogsAlg(const std::string& name, ISvcLocator* pSvcLocator); 00035 virtual ~CalRecLogsAlg() {} 00036 00037 // operations 00038 StatusCode initialize(); 00039 StatusCode execute(); 00040 StatusCode finalize(); 00041 protected: 00042 StatusCode retrieve(); 00043 00044 private: 00045 00046 void computeEnergy(CalRecLog* recLog, const CalADCLog* adcLog, 00047 const CalADCLog* pedLog, const CalCalibLog* calibLog); 00048 void computePosition(CalRecLog* recLog, const CalDetGeo* geoLog, 00049 const CalCalibLog* calibLog); 00050 00051 private: 00052 00053 ICalGeometrySvc* m_CalGeo; 00054 CalPedCalib* m_CalPedLogs; 00055 CalCalibLogs* m_CalCalibLogs; 00056 CalADCLogs* m_CalRawLogs; 00057 00058 CalRecLogs* m_CalRecLogs; 00059 00060 std::string m_PedFileName; 00061 std::string m_GainFileName; 00062 std::string m_IntlinFileName; 00063 std::string m_RailFileName; 00064 std::string m_SlopeFileName; 00065 }; 00066 00067 #endif