#include <TObject.h>
-#include "AliMpStationType.h"
+#include "AliMpStation12Type.h"
#include "AliMpPlaneType.h"
#include "AliMpXDirection.h"
-#include "AliMpIntPair.h"
#include <TString.h>
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