]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/mapping/AliMpSectorReader.h
Updated train config
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpSectorReader.h
index 613ba740bc691d2a92f3a1d8234cfbbbe9655ac1..e2c3d692a98bfbb824edfd5f74e008d169a99483 100755 (executable)
 
 #include <TObject.h>
 
-#include "AliMpStationType.h"
+#include "AliMpStation12Type.h"
 #include "AliMpPlaneType.h"
 #include "AliMpXDirection.h"
-#include "AliMpIntPair.h"
 
 #include <TString.h>
 
@@ -33,54 +32,61 @@ class AliMpMotifReader;
 class AliMpVMotif;
 class AliMpMotifSpecial;
 class AliMpMotifType;
+class AliMpDataStreams;
+
+using std::istream;
 
 class AliMpSectorReader : public TObject
 {
   public:
-    AliMpSectorReader(AliMpStationType station, AliMpPlaneType plane);
-    AliMpSectorReader();
+    AliMpSectorReader(const AliMpDataStreams& dataStreams,
+                      AliMq::Station12Type station, AliMp::PlaneType plane);
     virtual ~AliMpSectorReader();
   
     // methods   
     AliMpSector*  BuildSector();
     
   private:  
+    /// Not implemented
+    AliMpSectorReader();
+    /// Not implemented
     AliMpSectorReader(const AliMpSectorReader& right);
-    AliMpSectorReader&  operator = (const AliMpSectorReader& right);
+    /// Not implemented
+    AliMpSectorReader& operator = (const AliMpSectorReader& right);
 
-    // methods
-    void  ReadSectorData(ifstream& in);
-    void  ReadZoneData(ifstream& in);
-    void  ReadSubZoneData(ifstream& in, AliMpZone* zone);
-    void  ReadRowSegmentsData(ifstream& in,
+     // static methods
+    static const TString&  GetSectorKeyword();       
+    static const TString&  GetZoneKeyword();         
+    static const TString&  GetSubZoneKeyword();      
+    static const TString&  GetRowKeyword();          
+    static const TString&  GetSectorSpecialKeyword();
+    static const TString&  GetMotifKeyword();        
+    static const TString&  GetRowSpecialKeyword();   
+    static const TString&  GetPadRowsKeyword();      
+    static const TString&  GetPadRowSegmentKeyword();
+  
+   // methods
+    void  ReadSectorData(istream& in);
+    void  ReadZoneData(istream& in);
+    void  ReadSubZoneData(istream& in, AliMpZone* zone);
+    void  ReadRowSegmentsData(istream& in,
                           AliMpZone* zone, AliMpSubZone* subZone);
-    AliMpVMotif*  ReadMotifData(ifstream& in, AliMpZone* zone);
-    void  ReadSectorSpecialData(ifstream& in, AliMpXDirection direction);
-    void  ReadMotifsSpecialData(ifstream& in);
-    void  ReadRowSpecialData(ifstream& in, AliMpXDirection direction);
-    void  ReadRowSegmentSpecialData(ifstream& in,
+    AliMpVMotif*  ReadMotifData(istream& in, AliMpZone* zone);
+    void  ReadSectorSpecialData(istream& in, AliMp::XDirection direction);
+    void  ReadMotifsSpecialData(istream& in);
+    void  ReadRowSpecialData(istream& in, AliMp::XDirection direction);
+    void  ReadRowSegmentSpecialData(istream& in,
                           AliMpVRowSegmentSpecial* segment,
-                         AliMpXDirection direction);
-    
-    // static data members
-    static const TString  fgkSectorKeyword;        ///< sector keyword
-    static const TString  fgkZoneKeyword;          ///< zone keyword
-    static const TString  fgkSubZoneKeyword;       ///< subzone keyword
-    static const TString  fgkRowKeyword;           ///< row keyword
-    static const TString  fgkEofKeyword;           ///< eof keyword
-    static const TString  fgkSectorSpecialKeyword; ///< sector special keyword
-    static const TString  fgkMotifKeyword;         ///< motif keyword
-    static const TString  fgkRowSpecialKeyword;    ///< row special keyword
-    static const TString  fgkPadRowsKeyword;       ///< pad rows keyword
-    static const TString  fgkPadRowSegmentKeyword; ///< pad row segment keyword
+                         AliMp::XDirection direction);
   
     // data members  
-    AliMpStationType  fStationType; ///< station type 
-    AliMpPlaneType    fPlaneType;   ///< plane type 
-    AliMpSector*      fSector;      ///< sector
-    AliMpMotifReader* fMotifReader; ///< motif reader
+    const AliMpDataStreams&  fkDataStreams; ///< data streams
+    AliMq::Station12Type  fStationType; ///< station type 
+    AliMp::PlaneType      fPlaneType;   ///< plane type 
+    AliMpSector*          fSector;      ///< sector
+    AliMpMotifReader*     fMotifReader; ///< motif reader
 
-  ClassDef(AliMpSectorReader,1)  // Data reader
+  ClassDef(AliMpSectorReader,0)  // Data reader
 };
 
 #endif //ALI_MP_READER_H