#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(AliMp::StationType station, AliMp::PlaneType plane);
- AliMpSectorReader();
+ AliMpSectorReader(AliMq::Station12Type station, AliMp::PlaneType plane);
virtual ~AliMpSectorReader();
// methods
- AliMpSector* BuildSector();
+ AliMpSector* BuildSector(const AliMpDataStreams& dataStreams);
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,
- AliMpZone* zone, AliMpSubZone* subZone);
- AliMpVMotif* ReadMotifData(ifstream& in, AliMpZone* zone);
- void ReadSectorSpecialData(ifstream& in, AliMp::XDirection direction);
- void ReadMotifsSpecialData(ifstream& in);
- void ReadRowSpecialData(ifstream& in, AliMp::XDirection direction);
- void ReadRowSegmentSpecialData(ifstream& in,
- AliMpVRowSegmentSpecial* segment,
- AliMp::XDirection 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
+ // 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(const AliMpDataStreams& dataStreams,
+ istream& in);
+ void ReadZoneData(const AliMpDataStreams& dataStreams,
+ istream& in);
+ void ReadSubZoneData(const AliMpDataStreams& dataStreams,
+ istream& in, AliMpZone* zone);
+ void ReadRowSegmentsData(const AliMpDataStreams& dataStreams,
+ istream& in,
+ AliMpZone* zone, AliMpSubZone* subZone);
+
+ AliMpVMotif* ReadMotifData(const AliMpDataStreams& dataStreams,
+ istream& in, AliMpZone* zone);
+ void ReadSectorSpecialData(const AliMpDataStreams& dataStreams,
+ istream& in, AliMp::XDirection direction);
+ void ReadMotifsSpecialData(const AliMpDataStreams& dataStreams,
+ istream& in);
+ void ReadRowSpecialData(const AliMpDataStreams& dataStreams,
+ istream& in, AliMp::XDirection direction);
+ void ReadRowSegmentSpecialData(const AliMpDataStreams& dataStreams,
+ istream& in,
+ AliMpVRowSegmentSpecial* segment,
+ AliMp::XDirection direction);
+
// data members
- AliMp::StationType fStationType; ///< station type
- AliMp::PlaneType fPlaneType; ///< plane type
- AliMpSector* fSector; ///< sector
- AliMpMotifReader* fMotifReader; ///< motif reader
+ 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