6 // Class describing the motif map container, where motifs are
7 // mapped to their string IDs.
9 // Authors: David Guez, Ivana Hrivnacova; IPN Orsay
11 #ifndef ALI_MP_MOTIF_MAP_H
12 #define ALI_MP_MOTIF_MAP_H
20 #include "AliMpMotifTypes.h"
27 class AliMpMotifPosition;
30 class AliMpMotifMap : public TObject
34 virtual ~AliMpMotifMap();
37 Bool_t AddMotif(AliMpVMotif* motif, Bool_t warn = true);
38 Bool_t AddMotifType(AliMpMotifType* motifType, Bool_t warn = true);
39 Bool_t AddMotifPosition(AliMpMotifPosition* motifType, Bool_t warn = true);
40 void FillMotifPositionMap2();
41 virtual void Print(const char* /*option*/ = "") const;
42 void PrintGlobalIndices(const char* fileName) const;
43 void UpdateGlobalIndices(const char* fileName);
46 AliMpVMotif* FindMotif(const TString& motifID) const;
47 AliMpVMotif* FindMotif(const TString& motifID, const TString& motifTypeID,
48 const TVector2& padDimensions) const;
49 AliMpMotifType* FindMotifType(const TString& motifTypeID) const;
50 AliMpMotifPosition* FindMotifPosition(Int_t motifPositionID) const;
51 // AliMpMotifPosition* FindMotifPosition(const AliMpIntPair& indices) const;
55 static const Int_t fgkSeparator; // the separator used for conversion
56 // of TString to Int_t
59 Int_t GetIndex(const TString& s) const;
60 Int_t GetIndex(const AliMpIntPair& pair) const;
61 TString GetString(Int_t index) const;
62 AliMpIntPair GetPair(Int_t index) const;
66 void PrintMotif(const AliMpVMotif* motif) const;
67 void PrintMotifType(const AliMpMotifType* motifType) const;
68 void PrintMotifPosition(const AliMpMotifPosition* motifPosition) const;
69 void PrintMotifPosition2(const AliMpMotifPosition* motifPosition) const;
70 void PrintMotifs() const;
71 void PrintMotifTypes() const;
72 void PrintMotifPositions() const;
73 void PrintMotifPositions2() const;
78 // EXCLUDED FOR CINT (does not compile on HP)
79 MotifMap fMotifs; //! motifs map
80 MotifTypeMap fMotifTypes; //!motif types map
81 //MotifPositionMap fMotifPositions; //! motif positions map
83 map<Int_t, AliMpMotifPosition*> fMotifPositions; //! motif positions map by Id
84 MotifPositionMap2 fMotifPositions2; //! motif positions map
87 MotifMap fMotifs; // motifs map
88 MotifTypeMap fMotifTypes; // motif types map
89 //MotifPositionMap fMotifPositions; // motif positions map
91 std::map<Int_t, AliMpMotifPosition*> fMotifPositions; // motif positions map by Id
92 MotifPositionMap2 fMotifPositions2; // motif positions map
98 mutable MotifMap fMotifs; // motifs map
99 mutable MotifTypeMap fMotifTypes; // motifs types map
100 mutable MotifPositionMap fMotifPositions; // motifs positions map
101 mutable MotifPositionMap2 fMotifPositions2;// motifs positions map
104 ClassDef(AliMpMotifMap,1) // motif map
107 #endif //ALI_MP_MOTIF_MAP_H