00001 #ifndef digiRootReaderAlg_h
00002 #define digiRootReaderAlg_h
00003
00004 #include "GaudiKernel/Algorithm.h"
00005 #include "GlastEvent/Digi/AcdDigi.h"
00006
00007 class SiLayers;
00008 class CalADCLogs;
00009 class DigiEvent;
00010
00011 class TFile;
00012 class TTree;
00013
00014 class digiRootReaderAlg : public Algorithm
00015 {
00016 public:
00017
00019
00020 digiRootReaderAlg(const std::string& name, ISvcLocator* pSvcLocator);
00021
00023 StatusCode initialize();
00025 StatusCode execute();
00027 StatusCode finalize();
00028
00029 protected:
00030
00032
00033 void load(SiLayers* siLayers);
00035
00036 void load(CalADCLogs* calLogs);
00038 void load(AcdDigiVector* acdDigis);
00039
00040 protected:
00041
00043 StatusCode retrieve();
00044
00045 void readEvent();
00046
00047 StatusCode storeHeader();
00048
00049 void close();
00050
00051 private:
00052
00054 SiLayers* m_SiLayers;
00055
00057 CalADCLogs* m_CalADCLogs;
00058
00060 AcdDigiVector *m_AcdDigiList;
00061
00062 TFile *m_rawFile;
00063 TTree *m_rawTree;
00064
00065 DigiEvent *m_event;
00066
00067 std::string m_fileName;
00068
00069 unsigned long m_numEvents;
00070 unsigned long m_currentEvent;
00071 unsigned long m_eventId;
00072 unsigned long m_runId;
00073 long m_maxEvent;
00074 };
00075 #endif
00076
00077