CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_2_9_HLT1_bphpatch4/src/Alignment/CocoaModel/interface/CocoaDaqReaderRoot.h

Go to the documentation of this file.
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