]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/mapping/AliMpSectorReader.h
Removing useless ifs
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpSectorReader.h
CommitLineData
197883c2 1/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
3
5f91c9e8 4// $Id$
197883c2 5// $MpId: AliMpSectorReader.h,v 1.3 2005/08/26 15:43:36 ivana Exp $
6
7/// \ingroup sector
8/// \class AliMpSectorReader
9/// \brief Class that takes care of reading the sector data.
10///
11/// Authors: David Guez, Ivana Hrivnacova; IPN Orsay
5f91c9e8 12
197883c2 13#ifndef ALI_MP_SECTOR_READER_H
14#define ALI_MP_SECTOR_READER_H
5f91c9e8 15
16#include <fstream>
17
18#include <TObject.h>
19#include <TString.h>
5f91c9e8 20
4139354b 21#include "AliMpStationType.h"
5f91c9e8 22#include "AliMpPlaneType.h"
4139354b 23#include "AliMpXDirection.h"
f79c58a5 24#include "AliMpIntPair.h"
5f91c9e8 25
26class AliMpSector;
27class AliMpZone;
28class AliMpSubZone;
29class AliMpRow;
4139354b 30class AliMpVRowSegmentSpecial;
197883c2 31class AliMpMotifReader;
5f91c9e8 32class AliMpVMotif;
33class AliMpMotifSpecial;
34class AliMpMotifType;
35
197883c2 36class AliMpSectorReader : public TObject
5f91c9e8 37{
38 public:
197883c2 39 AliMpSectorReader(AliMpStationType station, AliMpPlaneType plane);
40 AliMpSectorReader();
41 virtual ~AliMpSectorReader();
5f91c9e8 42
43 // methods
197883c2 44 AliMpSector* BuildSector();
5f91c9e8 45
46 // set methods
47 void SetVerboseLevel(Int_t verboseLevel);
48
fb1bf5c0 49 protected:
197883c2 50 AliMpSectorReader(const AliMpSectorReader& right);
51 AliMpSectorReader& operator = (const AliMpSectorReader& right);
fb1bf5c0 52
197883c2 53 private:
5f91c9e8 54 // methods
55 void ReadSectorData(ifstream& in);
56 void ReadZoneData(ifstream& in);
57 void ReadSubZoneData(ifstream& in, AliMpZone* zone);
58 void ReadRowSegmentsData(ifstream& in,
59 AliMpZone* zone, AliMpSubZone* subZone);
60 AliMpVMotif* ReadMotifData(ifstream& in, AliMpZone* zone);
4139354b 61 void ReadSectorSpecialData(ifstream& in, AliMpXDirection direction);
5f91c9e8 62 void ReadMotifsSpecialData(ifstream& in);
4139354b 63 void ReadRowSpecialData(ifstream& in, AliMpXDirection direction);
5f91c9e8 64 void ReadRowSegmentSpecialData(ifstream& in,
4139354b 65 AliMpVRowSegmentSpecial* segment,
66 AliMpXDirection direction);
5f91c9e8 67
68 // static data members
4139354b 69 static const TString fgkSectorKeyword; // sector keyword
70 static const TString fgkZoneKeyword; // zone keyword
71 static const TString fgkSubZoneKeyword; // subzone keyword
72 static const TString fgkRowKeyword; // row keyword
73 static const TString fgkEofKeyword; // eof keyword
74 static const TString fgkSectorSpecialKeyword; // sector special keyword
75 static const TString fgkMotifKeyword; // motif keyword
76 static const TString fgkRowSpecialKeyword; // row special keyword
77 static const TString fgkPadRowsKeyword; // pad rows keyword
78 static const TString fgkPadRowSegmentKeyword; // pad row segment keyword
5f91c9e8 79
4139354b 80 // data members
81 AliMpStationType fStationType; // station type
82 AliMpPlaneType fPlaneType; // plane type
83 AliMpSector* fSector; // sector
197883c2 84 AliMpMotifReader* fMotifReader; // motif reader
4139354b 85 Int_t fVerboseLevel;// verbose level
5f91c9e8 86
197883c2 87 ClassDef(AliMpSectorReader,1) // Data reader
5f91c9e8 88};
89
90#endif //ALI_MP_READER_H