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.3 2005/08/26 15:43:36 ivana Exp $
8 /// \class AliMpSectorReader
9 /// \brief Class that takes care of reading the sector data.
11 /// Authors: David Guez, Ivana Hrivnacova; IPN Orsay
13 #ifndef ALI_MP_SECTOR_READER_H
14 #define ALI_MP_SECTOR_READER_H
21 #include "AliMpSectorTypes.h"
22 #include "AliMpStationType.h"
23 #include "AliMpPlaneType.h"
24 #include "AliMpXDirection.h"
25 #include "AliMpIntPair.h"
31 class AliMpVRowSegmentSpecial;
32 class AliMpMotifReader;
34 class AliMpMotifSpecial;
37 class AliMpSectorReader : public TObject
40 AliMpSectorReader(AliMpStationType station, AliMpPlaneType plane);
42 virtual ~AliMpSectorReader();
45 AliMpSector* BuildSector();
48 void SetVerboseLevel(Int_t verboseLevel);
51 AliMpSectorReader(const AliMpSectorReader& right);
52 AliMpSectorReader& operator = (const AliMpSectorReader& right);
56 void ReadSectorData(ifstream& in);
57 void ReadZoneData(ifstream& in);
58 void ReadSubZoneData(ifstream& in, AliMpZone* zone);
59 void ReadRowSegmentsData(ifstream& in,
60 AliMpZone* zone, AliMpSubZone* subZone);
61 AliMpVMotif* ReadMotifData(ifstream& in, AliMpZone* zone);
62 void ReadSectorSpecialData(ifstream& in, AliMpXDirection direction);
63 void ReadMotifsSpecialData(ifstream& in);
64 void ReadRowSpecialData(ifstream& in, AliMpXDirection direction);
65 void ReadRowSegmentSpecialData(ifstream& in,
66 AliMpVRowSegmentSpecial* segment,
67 AliMpXDirection 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 AliMpStationType fStationType; // station type
83 AliMpPlaneType fPlaneType; // plane type
84 AliMpSector* fSector; // sector
85 AliMpMotifReader* fMotifReader; // motif reader
86 Int_t fVerboseLevel;// verbose level
88 ClassDef(AliMpSectorReader,1) // Data reader
91 #endif //ALI_MP_READER_H