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 "AliMpStationType.h"
19 #include "AliMpPlaneType.h"
20 #include "AliMpXDirection.h"
21 #include "AliMpIntPair.h"
31 class AliMpVRowSegmentSpecial;
32 class AliMpMotifReader;
34 class AliMpMotifSpecial;
37 class AliMpSectorReader : public TObject
40 AliMpSectorReader(AliMp::StationType station, AliMp::PlaneType plane);
42 virtual ~AliMpSectorReader();
45 AliMpSector* BuildSector();
49 AliMpSectorReader(const AliMpSectorReader& right);
51 AliMpSectorReader& operator = (const AliMpSectorReader& right);
54 void ReadSectorData(ifstream& in);
55 void ReadZoneData(ifstream& in);
56 void ReadSubZoneData(ifstream& in, AliMpZone* zone);
57 void ReadRowSegmentsData(ifstream& in,
58 AliMpZone* zone, AliMpSubZone* subZone);
59 AliMpVMotif* ReadMotifData(ifstream& in, AliMpZone* zone);
60 void ReadSectorSpecialData(ifstream& in, AliMp::XDirection direction);
61 void ReadMotifsSpecialData(ifstream& in);
62 void ReadRowSpecialData(ifstream& in, AliMp::XDirection direction);
63 void ReadRowSegmentSpecialData(ifstream& in,
64 AliMpVRowSegmentSpecial* segment,
65 AliMp::XDirection direction);
67 // static data members
68 static const TString fgkSectorKeyword; ///< sector keyword
69 static const TString fgkZoneKeyword; ///< zone keyword
70 static const TString fgkSubZoneKeyword; ///< subzone keyword
71 static const TString fgkRowKeyword; ///< row keyword
72 static const TString fgkEofKeyword; ///< eof keyword
73 static const TString fgkSectorSpecialKeyword; ///< sector special keyword
74 static const TString fgkMotifKeyword; ///< motif keyword
75 static const TString fgkRowSpecialKeyword; ///< row special keyword
76 static const TString fgkPadRowsKeyword; ///< pad rows keyword
77 static const TString fgkPadRowSegmentKeyword; ///< pad row segment keyword
80 AliMp::StationType fStationType; ///< station type
81 AliMp::PlaneType fPlaneType; ///< plane type
82 AliMpSector* fSector; ///< sector
83 AliMpMotifReader* fMotifReader; ///< motif reader
85 ClassDef(AliMpSectorReader,1) // Data reader
88 #endif //ALI_MP_READER_H