1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
5 // $MpId: AliMpMotifMap.h,v 1.14 2006/05/24 13:58:18 ivana Exp $
8 /// \class AliMpMotifMap
9 /// \brief Motif map containers
11 /// The class defines:
12 /// - map of motif objects to their string IDs
13 /// - map of motif type objects to their string IDs
14 /// - map of motif position objects to their string IDs
15 /// - map of motif position objects to their global indices
17 /// \author David Guez, Ivana Hrivnacova; IPN Orsay
19 #ifndef ALI_MP_MOTIF_MAP_H
20 #define ALI_MP_MOTIF_MAP_H
24 #include "AliMpExMap.h"
28 class AliMpMotifPosition;
34 class AliMpMotifMap : public TObject
38 AliMpMotifMap(TRootIOCtor* ioCtor);
39 virtual ~AliMpMotifMap();
42 Bool_t AddMotif(AliMpVMotif* motif, Bool_t warn = true);
43 Bool_t AddMotifType(AliMpMotifType* motifType, Bool_t warn = true);
44 Bool_t AddMotifPosition(AliMpMotifPosition* motifType, Bool_t warn = true);
45 void FillMotifPositionMap2();
46 virtual void Print(const char* option = "ALL") const;
47 void PrintGlobalIndices(const char* fileName) const;
48 void UpdateGlobalIndices(const char* fileName);
51 AliMpVMotif* FindMotif(const TString& motifID) const;
52 AliMpVMotif* FindMotif(const TString& motifID, const TString& motifTypeID,
53 Double_t padDimensionX, Double_t padDimensionY) const;
54 AliMpMotifType* FindMotifType(const TString& motifTypeID) const;
55 AliMpMotifPosition* FindMotifPosition(Int_t motifPositionID) const;
57 /// Find all motifPositionsIDs (=electronicCardNumbers) handled by this map
58 void GetAllMotifPositionsIDs(TArrayI& enc) const;
59 UInt_t GetNofMotifPositions() const;
60 AliMpMotifPosition* GetMotifPosition(UInt_t index) const;
62 /// Calculate total number of pads defined in the map
63 Int_t CalculateNofPads() const;
67 AliMpMotifMap(const AliMpMotifMap& rhs);
69 AliMpMotifMap& operator=(const AliMpMotifMap& rhs);
72 void PrintMotif(const AliMpVMotif* motif) const;
73 void PrintMotifType(const AliMpMotifType* motifType) const;
74 void PrintMotifPosition(const AliMpMotifPosition* motifPosition) const;
75 void PrintMotifPosition2(const AliMpMotifPosition* motifPosition) const;
76 void PrintMotifs() const;
77 void PrintMotifTypes() const;
78 void PrintMotifPositions() const;
79 void PrintMotifPositions2() const;
82 AliMpExMap fMotifs; ///< motifs map
83 AliMpExMap fMotifTypes; ///< motifs types map
84 AliMpExMap fMotifPositions; ///< motifs positions map
85 AliMpExMap fMotifPositions2;///< motifs positions map
87 ClassDef(AliMpMotifMap,1) // motif map
90 #endif //ALI_MP_MOTIF_MAP_H