gAlice->Particle(lab) removed. TParticle obj. accessed via AliMC
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpMotifMap.h
CommitLineData
5f91c9e8 1// $Id$
2// Category: motif
3//
4// Class AliMpMotifMap
5// -------------------
6// Class describing the motif map container, where motifs are
7// mapped to their string IDs.
8//
9// Authors: David Guez, Ivana Hrivnacova; IPN Orsay
10
11#ifndef ALI_MP_MOTIF_MAP_H
12#define ALI_MP_MOTIF_MAP_H
13
14#include <map>
15
16#include <TObject.h>
5f91c9e8 17
18#include "AliMpMotifTypes.h"
ffb47139 19
20class TString;
21class TVector2;
5f91c9e8 22
23class AliMpVMotif;
24class AliMpMotifType;
25class AliMpMotifPosition;
ffb47139 26class AliMpMotifMap;
5f91c9e8 27
28class AliMpMotifMap : public TObject
29{
30 public:
31 AliMpMotifMap();
32 virtual ~AliMpMotifMap();
33
34 // methods
35 Bool_t AddMotif(AliMpVMotif* motif, Bool_t warn = true);
36 Bool_t AddMotifType(AliMpMotifType* motifType, Bool_t warn = true);
37 Bool_t AddMotifPosition(AliMpMotifPosition* motifType, Bool_t warn = true);
38 void FillMotifPositionMap2();
ffb47139 39 virtual void Print(const char* /*option*/ = "") const;
5f91c9e8 40 void PrintGlobalIndices(const char* fileName) const;
41 void UpdateGlobalIndices(const char* fileName);
42
43 // find methods
44 AliMpVMotif* FindMotif(const TString& motifID) const;
45 AliMpVMotif* FindMotif(const TString& motifID, const TString& motifTypeID,
ffb47139 46 const TVector2& padDimensions) const;
5f91c9e8 47 AliMpMotifType* FindMotifType(const TString& motifTypeID) const;
48 AliMpMotifPosition* FindMotifPosition(Int_t motifPositionID) const;
ffb47139 49 AliMpMotifPosition* FindMotifPosition(const AliMpIntPair& indices) const;
5f91c9e8 50
51 private:
52 // methods
53 void PrintMotifs() const;
54 void PrintMotifTypes() const;
55 void PrintMotifPositions() const;
56 void PrintMotifPositions2() const;
5f91c9e8 57
58#ifdef __HP_aCC
59 // data members
60 // EXCLUDED FOR CINT (does not compile on HP)
61 MotifMap fMotifs; //! motifs map
62 MotifTypeMap fMotifTypes; //!motif types map
63 //MotifPositionMap fMotifPositions; //! motif positions map
64 // not taken by cint
65 map<Int_t, AliMpMotifPosition*> fMotifPositions; //! motif positions map by Id
66 MotifPositionMap2 fMotifPositions2; //! motif positions map
67#else
68 // data members
69 MotifMap fMotifs; // motifs map
70 MotifTypeMap fMotifTypes; // motif types map
71 //MotifPositionMap fMotifPositions; // motif positions map
72 // not taken by cint
73 std::map<Int_t, AliMpMotifPosition*> fMotifPositions; // motif positions map by Id
74 MotifPositionMap2 fMotifPositions2; // motif positions map
75#endif
76
77 ClassDef(AliMpMotifMap,1) // motif map
78};
79
80#endif //ALI_MP_MOTIF_MAP_H