AliMpReader splitted into AliMpMotifReader and AliMpSectorReader
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpMotifReader.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 // $Id$
6
7 /// \ingroup motif
8 /// \class AliMpMotifReader
9 /// \brief Class that takes care of reading the motifs data.
10 ///
11 /// Authors: David Guez, Ivana Hrivnacova; IPN Orsay
12
13 #ifndef ALI_MP_MOTIF_READER_H
14 #define ALI_MP_MOTIF_READER_H
15
16 #include <fstream>
17
18 #include <TObject.h>
19 #include <TString.h>
20 #include <TVector2.h>
21 #include <Riostream.h>
22
23 #include "AliMpStationType.h"
24 #include "AliMpPlaneType.h"
25 #include "AliMpIntPair.h"
26 #include "AliMpContainers.h"
27
28 class AliMpMotifMap;
29 class AliMpVMotif;
30 class AliMpMotifSpecial;
31 class AliMpMotifType;
32
33 class AliMpMotifReader : public TObject
34 {
35   public:
36     AliMpMotifReader(AliMpStationType station, AliMpPlaneType plane);
37     AliMpMotifReader();
38     virtual ~AliMpMotifReader();
39   
40     // methods   
41     AliMpMotifType*     BuildMotifType(const TString& motifTypeId);
42     AliMpMotifSpecial*  BuildMotifSpecial(const TString& motifID,
43                                           AliMpMotifType* motifType);
44
45     // set methods
46     void SetVerboseLevel(Int_t verboseLevel); 
47     
48   protected:
49     AliMpMotifReader(const AliMpMotifReader& right);
50     AliMpMotifReader&  operator = (const AliMpMotifReader& right);
51
52   private:
53 #ifdef WITH_ROOT
54     static const Int_t   fgkSeparator;  // the separator used for conversion
55                                         // of string to Int_t
56     
57     // methods
58     Int_t   GetIndex(const string& s) const;
59     Int_t   GetIndex(const AliMpIntPair& pair) const;
60     string  GetString(Int_t index) const;
61     AliMpIntPair  GetPair(Int_t index) const;
62 #endif
63
64     // data members  
65     AliMpStationType  fStationType; // station type 
66     AliMpPlaneType    fPlaneType;   // plane type 
67     Int_t             fVerboseLevel;// verbose level
68
69   ClassDef(AliMpMotifReader,1)  // Data reader
70 };
71
72 #endif //ALI_MP_MOTIF_READER_H