]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/mapping/AliMpMotifReader.h
New class - the factory for building mapping segmentations
[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 // $MpId: AliMpMotifReader.h,v 1.5 2005/09/26 16:10:46 ivana Exp $
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 "AliMpContainers.h"
17
18 #ifdef WITH_STL
19 #include <map>
20 #endif    
21
22 #ifdef WITH_ROOT
23 #include <TExMap.h>
24 #endif    
25
26 #include <fstream>
27
28 #include <TObject.h>
29 #include <TString.h>
30 #include <TVector2.h>
31 #include <Riostream.h>
32
33 #include "AliMpStationType.h"
34 #include "AliMpPlaneType.h"
35 #include "AliMpIntPair.h"
36 #include "AliMpContainers.h"
37
38 class AliMpMotifMap;
39 class AliMpVMotif;
40 class AliMpMotifSpecial;
41 class AliMpMotifType;
42
43 class AliMpMotifReader : public TObject
44 {
45   public:
46 #ifdef WITH_STL
47     typedef std::map<std::string, std::pair<Int_t,Int_t> > PadMapType;
48     typedef PadMapType::iterator PadMapTypeIterator;
49 #endif    
50 #ifdef WITH_ROOT
51     typedef TExMap PadMapType;
52 #endif    
53
54   public:
55     AliMpMotifReader(AliMpStationType station, AliMpPlaneType plane);
56     AliMpMotifReader();
57     virtual ~AliMpMotifReader();
58   
59     // methods   
60     AliMpMotifType*     BuildMotifType(const TString& motifTypeId);
61     AliMpMotifSpecial*  BuildMotifSpecial(const TString& motifID,
62                                           AliMpMotifType* motifType,
63                                           Double_t scale=1.0);
64
65     // set methods
66     void SetVerboseLevel(Int_t verboseLevel); 
67     
68   protected:
69     AliMpMotifReader(const AliMpMotifReader& right);
70     AliMpMotifReader&  operator = (const AliMpMotifReader& right);
71
72   private:
73     // data members  
74     AliMpStationType  fStationType; // station type 
75     AliMpPlaneType    fPlaneType;   // plane type 
76     Int_t             fVerboseLevel;// verbose level
77
78   ClassDef(AliMpMotifReader,1)  // Data reader
79 };
80
81 #endif //ALI_MP_MOTIF_READER_H