AliRoot Core  3dc7879 (3dc7879)
AliMpMotifMap.h
Go to the documentation of this file.
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: AliMpMotifMap.h,v 1.14 2006/05/24 13:58:18 ivana Exp $
6 
18 
19 #ifndef ALI_MP_MOTIF_MAP_H
20 #define ALI_MP_MOTIF_MAP_H
21 
22 #include <TObject.h>
23 
24 #include "AliMpExMap.h"
25 
26 class AliMpVMotif;
27 class AliMpMotifType;
28 class AliMpMotifPosition;
29 class AliMpMotifMap;
30 
31 class TArrayI;
32 class TString;
33 
34 class AliMpMotifMap : public TObject
35 {
36  public:
37  AliMpMotifMap();
38  AliMpMotifMap(TRootIOCtor* ioCtor);
39  virtual ~AliMpMotifMap();
40 
41  // methods
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);
49 
50  // find methods
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;
56 
58  void GetAllMotifPositionsIDs(TArrayI& enc) const;
59  UInt_t GetNofMotifPositions() const;
60  AliMpMotifPosition* GetMotifPosition(UInt_t index) const;
61 
63  Int_t CalculateNofPads() const;
64 
65  private:
67  AliMpMotifMap(const AliMpMotifMap& rhs);
70 
71  // methods
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;
80 
81  // data members
86 
87  ClassDef(AliMpMotifMap,1) // motif map
88 };
89 
90 #endif //ALI_MP_MOTIF_MAP_H
void PrintMotifPosition2(const AliMpMotifPosition *motifPosition) const
void PrintMotifs() const
Bool_t AddMotifPosition(AliMpMotifPosition *motifType, Bool_t warn=true)
AliMpExMap fMotifTypes
motifs types map
Definition: AliMpMotifMap.h:83
void FillMotifPositionMap2()
AliMpExMap fMotifPositions2
motifs positions map
Definition: AliMpMotifMap.h:85
void PrintMotifPositions2() const
void PrintMotif(const AliMpVMotif *motif) const
Int_t CalculateNofPads() const
Calculate total number of pads defined in the map.
void UpdateGlobalIndices(const char *fileName)
void PrintMotifType(const AliMpMotifType *motifType) const
UInt_t GetNofMotifPositions() const
AliMpExMap fMotifs
motifs map
Definition: AliMpMotifMap.h:82
void PrintMotifPosition(const AliMpMotifPosition *motifPosition) const
AliMpVMotif * FindMotif(const TString &motifID) const
TString fileName(const char *dir, int runNumber, const char *da, int i, const char *type)
virtual void Print(const char *option="ALL") const
AliMpMotifMap & operator=(const AliMpMotifMap &rhs)
Not implemented.
void PrintMotifPositions() const
A placed motif.
Motif map containers.
Definition: AliMpMotifMap.h:34
Bool_t AddMotif(AliMpVMotif *motif, Bool_t warn=true)
AliMpMotifType * FindMotifType(const TString &motifTypeID) const
AliMpMotifPosition * GetMotifPosition(UInt_t index) const
Abstract base class for a motif with its unique ID and the motif type.
Definition: AliMpVMotif.h:24
void PrintGlobalIndices(const char *fileName) const
Bool_t AddMotifType(AliMpMotifType *motifType, Bool_t warn=true)
AliMpMotifPosition * FindMotifPosition(Int_t motifPositionID) const
void PrintMotifTypes() const
AliMpExMap fMotifPositions
motifs positions map
Definition: AliMpMotifMap.h:84
virtual ~AliMpMotifMap()
Helper class making Root persistent TExMap.
Definition: AliMpExMap.h:28
Class that defines the motif properties.
void GetAllMotifPositionsIDs(TArrayI &enc) const
Find all motifPositionsIDs (=electronicCardNumbers) handled by this map.