]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - MUON/mapping/AliMpSectorReader.h
Fixing coding conventions (RC22)
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpSectorReader.h
... / ...
CommitLineData
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
26class AliMpSector;
27class AliMpZone;
28class AliMpSubZone;
29class AliMpRow;
30class AliMpVRowSegmentSpecial;
31class AliMpMotifReader;
32class AliMpVMotif;
33class AliMpMotifSpecial;
34class AliMpMotifType;
35class AliMpDataStreams;
36
37class 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 // static methods
56 static const TString& GetSectorKeyword();
57 static const TString& GetZoneKeyword();
58 static const TString& GetSubZoneKeyword();
59 static const TString& GetRowKeyword();
60 static const TString& GetSectorSpecialKeyword();
61 static const TString& GetMotifKeyword();
62 static const TString& GetRowSpecialKeyword();
63 static const TString& GetPadRowsKeyword();
64 static const TString& GetPadRowSegmentKeyword();
65
66 // methods
67 void ReadSectorData(istream& in);
68 void ReadZoneData(istream& in);
69 void ReadSubZoneData(istream& in, AliMpZone* zone);
70 void ReadRowSegmentsData(istream& in,
71 AliMpZone* zone, AliMpSubZone* subZone);
72 AliMpVMotif* ReadMotifData(istream& in, AliMpZone* zone);
73 void ReadSectorSpecialData(istream& in, AliMp::XDirection direction);
74 void ReadMotifsSpecialData(istream& in);
75 void ReadRowSpecialData(istream& in, AliMp::XDirection direction);
76 void ReadRowSegmentSpecialData(istream& in,
77 AliMpVRowSegmentSpecial* segment,
78 AliMp::XDirection direction);
79
80 // data members
81 const AliMpDataStreams& fkDataStreams; ///< data streams
82 AliMq::Station12Type fStationType; ///< station type
83 AliMp::PlaneType fPlaneType; ///< plane type
84 AliMpSector* fSector; ///< sector
85 AliMpMotifReader* fMotifReader; ///< motif reader
86
87 ClassDef(AliMpSectorReader,0) // Data reader
88};
89
90#endif //ALI_MP_READER_H