]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/mapping/AliMpMotifMap.h
In mapping:
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpMotifMap.h
CommitLineData
dee1d5f1 1/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
3
5f91c9e8 4// $Id$
13985652 5// $MpId: AliMpMotifMap.h,v 1.14 2006/05/24 13:58:18 ivana Exp $
dee1d5f1 6
7/// \ingroup motif
8/// \class AliMpMotifMap
9/// \brief Motif map containers
13985652 10///
dee1d5f1 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
16///
13985652 17/// \author David Guez, Ivana Hrivnacova; IPN Orsay
5f91c9e8 18
19#ifndef ALI_MP_MOTIF_MAP_H
20#define ALI_MP_MOTIF_MAP_H
21
2a7ea2e6 22#include <TObject.h>
23
5006ec94 24#include "AliMpExMap.h"
5f91c9e8 25
26class AliMpVMotif;
27class AliMpMotifType;
28class AliMpMotifPosition;
ffb47139 29class AliMpMotifMap;
5f91c9e8 30
2a7ea2e6 31class TArrayI;
32class TString;
33class TVector2;
34
5f91c9e8 35class AliMpMotifMap : public TObject
36{
5006ec94 37 public:
5f91c9e8 38 AliMpMotifMap();
630711ed 39 AliMpMotifMap(TRootIOCtor* ioCtor);
5f91c9e8 40 virtual ~AliMpMotifMap();
41
42 // methods
43 Bool_t AddMotif(AliMpVMotif* motif, Bool_t warn = true);
44 Bool_t AddMotifType(AliMpMotifType* motifType, Bool_t warn = true);
45 Bool_t AddMotifPosition(AliMpMotifPosition* motifType, Bool_t warn = true);
46 void FillMotifPositionMap2();
6d5f608a 47 virtual void Print(const char* option = "ALL") const;
5f91c9e8 48 void PrintGlobalIndices(const char* fileName) const;
49 void UpdateGlobalIndices(const char* fileName);
50
51 // find methods
52 AliMpVMotif* FindMotif(const TString& motifID) const;
53 AliMpVMotif* FindMotif(const TString& motifID, const TString& motifTypeID,
ffb47139 54 const TVector2& padDimensions) const;
5f91c9e8 55 AliMpMotifType* FindMotifType(const TString& motifTypeID) const;
56 AliMpMotifPosition* FindMotifPosition(Int_t motifPositionID) const;
5f91c9e8 57
6d5f608a 58 /// Find all motifPositionsIDs (=electronicCardNumbers) handled by this map
a70d5d20 59 void GetAllMotifPositionsIDs(TArrayI& enc) const;
60 UInt_t GetNofMotifPositions() const;
61 AliMpMotifPosition* GetMotifPosition(UInt_t index) const;
3283cfc7 62
63 /// Calculate total number of pads defined in the map
64 Int_t CalculateNofPads() const;
6d5f608a 65
5f91c9e8 66 private:
7d5d0cc5 67 /// Not implemented
68 AliMpMotifMap(const AliMpMotifMap& rhs);
69 /// Not implemented
70 AliMpMotifMap& operator=(const AliMpMotifMap& rhs);
71
5f91c9e8 72 // methods
f79c58a5 73 void PrintMotif(const AliMpVMotif* motif) const;
74 void PrintMotifType(const AliMpMotifType* motifType) const;
75 void PrintMotifPosition(const AliMpMotifPosition* motifPosition) const;
76 void PrintMotifPosition2(const AliMpMotifPosition* motifPosition) const;
5f91c9e8 77 void PrintMotifs() const;
78 void PrintMotifTypes() const;
79 void PrintMotifPositions() const;
80 void PrintMotifPositions2() const;
5f91c9e8 81
5f91c9e8 82 // data members
2294822d 83 AliMpExMap fMotifs; ///< motifs map
84 AliMpExMap fMotifTypes; ///< motifs types map
85 AliMpExMap fMotifPositions; ///< motifs positions map
86 AliMpExMap fMotifPositions2;///< motifs positions map
5f91c9e8 87
88 ClassDef(AliMpMotifMap,1) // motif map
89};
90
91#endif //ALI_MP_MOTIF_MAP_H