6 // Class that takes care of reading the sector data.
8 // Authors: David Guez, Ivana Hrivnacova; IPN Orsay
10 #ifndef ALI_MP_READER_H
11 #define ALI_MP_READER_H
18 #include "AliMpStationType.h"
19 #include "AliMpPlaneType.h"
20 #include "AliMpXDirection.h"
26 class AliMpVRowSegmentSpecial;
28 class AliMpMotifSpecial;
31 class AliMpReader : public TObject
34 AliMpReader(AliMpStationType station, AliMpPlaneType plane);
36 virtual ~AliMpReader();
39 AliMpSector* BuildSector();
40 AliMpMotifType* BuildMotifType(const TString& motifTypeId);
41 AliMpMotifSpecial* BuildMotifSpecial(const TString& motifID,
42 AliMpMotifType* motifType);
45 void SetVerboseLevel(Int_t verboseLevel);
49 void ReadSectorData(ifstream& in);
50 void ReadZoneData(ifstream& in);
51 void ReadSubZoneData(ifstream& in, AliMpZone* zone);
52 void ReadRowSegmentsData(ifstream& in,
53 AliMpZone* zone, AliMpSubZone* subZone);
54 AliMpVMotif* ReadMotifData(ifstream& in, AliMpZone* zone);
55 void ReadSectorSpecialData(ifstream& in, AliMpXDirection direction);
56 void ReadMotifsSpecialData(ifstream& in);
57 void ReadRowSpecialData(ifstream& in, AliMpXDirection direction);
58 void ReadRowSegmentSpecialData(ifstream& in,
59 AliMpVRowSegmentSpecial* segment,
60 AliMpXDirection direction);
62 // static data members
63 static const TString fgkSectorKeyword; // sector keyword
64 static const TString fgkZoneKeyword; // zone keyword
65 static const TString fgkSubZoneKeyword; // subzone keyword
66 static const TString fgkRowKeyword; // row keyword
67 static const TString fgkEofKeyword; // eof keyword
68 static const TString fgkSectorSpecialKeyword; // sector special keyword
69 static const TString fgkMotifKeyword; // motif keyword
70 static const TString fgkRowSpecialKeyword; // row special keyword
71 static const TString fgkPadRowsKeyword; // pad rows keyword
72 static const TString fgkPadRowSegmentKeyword; // pad row segment keyword
75 AliMpStationType fStationType; // station type
76 AliMpPlaneType fPlaneType; // plane type
77 AliMpSector* fSector; // sector
78 Int_t fVerboseLevel;// verbose level
80 ClassDef(AliMpReader,1) // Data reader
83 #endif //ALI_MP_READER_H