1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
5 // $MpId: AliMpSectorReader.h,v 1.7 2006/05/24 13:58:21 ivana Exp $
8 /// \class AliMpSectorReader
9 /// \brief Class that takes care of reading the sector data.
11 /// \author David Guez, Ivana Hrivnacova; IPN Orsay
13 #ifndef ALI_MP_SECTOR_READER_H
14 #define ALI_MP_SECTOR_READER_H
18 #include "AliMpStation12Type.h"
19 #include "AliMpPlaneType.h"
20 #include "AliMpXDirection.h"
30 class AliMpVRowSegmentSpecial;
31 class AliMpMotifReader;
33 class AliMpMotifSpecial;
35 class AliMpDataStreams;
37 class AliMpSectorReader : public TObject
40 AliMpSectorReader(const AliMpDataStreams& dataStreams,
41 AliMq::Station12Type station, AliMp::PlaneType plane);
42 virtual ~AliMpSectorReader();
45 AliMpSector* BuildSector();
51 AliMpSectorReader(const AliMpSectorReader& right);
53 AliMpSectorReader& operator = (const AliMpSectorReader& right);
56 void ReadSectorData(istream& in);
57 void ReadZoneData(istream& in);
58 void ReadSubZoneData(istream& in, AliMpZone* zone);
59 void ReadRowSegmentsData(istream& in,
60 AliMpZone* zone, AliMpSubZone* subZone);
61 AliMpVMotif* ReadMotifData(istream& in, AliMpZone* zone);
62 void ReadSectorSpecialData(istream& in, AliMp::XDirection direction);
63 void ReadMotifsSpecialData(istream& in);
64 void ReadRowSpecialData(istream& in, AliMp::XDirection direction);
65 void ReadRowSegmentSpecialData(istream& in,
66 AliMpVRowSegmentSpecial* segment,
67 AliMp::XDirection direction);
69 // static data members
70 static const TString fgkSectorKeyword; ///< sector keyword
71 static const TString fgkZoneKeyword; ///< zone keyword
72 static const TString fgkSubZoneKeyword; ///< subzone keyword
73 static const TString fgkRowKeyword; ///< row keyword
74 static const TString fgkEofKeyword; ///< eof keyword
75 static const TString fgkSectorSpecialKeyword; ///< sector special keyword
76 static const TString fgkMotifKeyword; ///< motif keyword
77 static const TString fgkRowSpecialKeyword; ///< row special keyword
78 static const TString fgkPadRowsKeyword; ///< pad rows keyword
79 static const TString fgkPadRowSegmentKeyword; ///< pad row segment keyword
82 const AliMpDataStreams& fkDataStreams; ///< data streams
83 AliMq::Station12Type fStationType; ///< station type
84 AliMp::PlaneType fPlaneType; ///< plane type
85 AliMpSector* fSector; ///< sector
86 AliMpMotifReader* fMotifReader; ///< motif reader
88 ClassDef(AliMpSectorReader,0) // Data reader
91 #endif //ALI_MP_READER_H