]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/mapping/AliMpSectorReader.h
Removing a comma that gcc 3.4 does not like ;-)
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpSectorReader.h
1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2  * See cxx source for full Copyright notice                               */
3
4 // $Id$
5 // $MpId: AliMpSectorReader.h,v 1.7 2006/05/24 13:58:21 ivana Exp $
6
7 /// \ingroup sector
8 /// \class AliMpSectorReader
9 /// \brief Class that takes care of reading the sector data.
10 ///
11 /// \author David Guez, Ivana Hrivnacova; IPN Orsay
12
13 #ifndef ALI_MP_SECTOR_READER_H
14 #define ALI_MP_SECTOR_READER_H
15
16 #include <TObject.h>
17
18 #include "AliMpStation12Type.h"
19 #include "AliMpPlaneType.h"
20 #include "AliMpXDirection.h"
21
22 #include <TString.h>
23
24 #include <fstream>
25
26 class AliMpSector;
27 class AliMpZone;
28 class AliMpSubZone;
29 class AliMpRow;
30 class AliMpVRowSegmentSpecial;
31 class AliMpMotifReader;
32 class AliMpVMotif;
33 class AliMpMotifSpecial;
34 class AliMpMotifType;
35 class AliMpDataStreams;
36
37 class AliMpSectorReader : public TObject
38 {
39   public:
40     AliMpSectorReader(const AliMpDataStreams& dataStreams,
41                       AliMq::Station12Type station, AliMp::PlaneType plane);
42     virtual ~AliMpSectorReader();
43   
44     // methods   
45     AliMpSector*  BuildSector();
46     
47   private:  
48     /// Not implemented
49     AliMpSectorReader();
50     /// Not implemented
51     AliMpSectorReader(const AliMpSectorReader& right);
52     /// Not implemented
53     AliMpSectorReader& operator = (const AliMpSectorReader& right);
54
55     // methods
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);
68     
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
80   
81     // data members  
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
87
88   ClassDef(AliMpSectorReader,0)  // Data reader
89 };
90
91 #endif //ALI_MP_READER_H