00001 #ifndef CocoaDaqReaderRoot_h 00002 #define CocoaDaqReaderRoot_h 00003 #include "TFile.h" 00004 #include "TTree.h" 00005 #include "Alignment/CocoaDaq/interface/CocoaDaqReader.h" 00006 class CocoaDaqRootEvent; 00007 class AliDaqPosition2D; 00008 class AliDaqPositionCOPS; 00009 class AliDaqTilt; 00010 class AliDaqDistance; 00011 class OpticalAlignMeasurementInfo; 00012 00013 class CocoaDaqReaderRoot : public CocoaDaqReader { 00014 public: 00015 CocoaDaqReaderRoot(const std::string& m_inFileName ); 00016 ~CocoaDaqReaderRoot(); 00017 virtual bool ReadNextEvent(); 00018 virtual bool ReadEvent( int nev ); 00019 virtual void BuildMeasurementsFromOptAlign( std::vector<OpticalAlignMeasurementInfo>& measList ); 00020 00021 public: 00022 int GetNEvents() const { return nev; } 00023 private: 00024 OpticalAlignMeasurementInfo GetMeasFromPosition2D( AliDaqPosition2D* pos2D ); 00025 OpticalAlignMeasurementInfo GetMeasFromPositionCOPS( AliDaqPositionCOPS* posCOPS ); 00026 OpticalAlignMeasurementInfo GetMeasFromTilt( AliDaqTilt* tilt ); 00027 OpticalAlignMeasurementInfo GetMeasFromDist( AliDaqDistance* dist ); 00028 00029 private: 00030 CocoaDaqRootEvent *theEvent; 00031 TFile* theFile; 00032 TTree* theTree; 00033 int nev; 00034 int nextEvent; 00035 }; 00036 00037 #endif