]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/mapping/AliMpMotifMap.h
- Disentangle masks effect from trigger chamber efficiency estimation.
[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;
2a7ea2e6 33
5f91c9e8 34class AliMpMotifMap : public TObject
35{
5006ec94 36 public:
5f91c9e8 37 AliMpMotifMap();
630711ed 38 AliMpMotifMap(TRootIOCtor* ioCtor);
5f91c9e8 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();
6d5f608a 46 virtual void Print(const char* option = "ALL") const;
5f91c9e8 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,
6e97fbb8 53 Double_t padDimensionX, Double_t padDimensionY) const;
5f91c9e8 54 AliMpMotifType* FindMotifType(const TString& motifTypeID) const;
55 AliMpMotifPosition* FindMotifPosition(Int_t motifPositionID) const;
5f91c9e8 56
6d5f608a 57 /// Find all motifPositionsIDs (=electronicCardNumbers) handled by this map
a70d5d20 58 void GetAllMotifPositionsIDs(TArrayI& enc) const;
59 UInt_t GetNofMotifPositions() const;
60 AliMpMotifPosition* GetMotifPosition(UInt_t index) const;
3283cfc7 61
62 /// Calculate total number of pads defined in the map
63 Int_t CalculateNofPads() const;
6d5f608a 64
5f91c9e8 65 private:
7d5d0cc5 66 /// Not implemented
67 AliMpMotifMap(const AliMpMotifMap& rhs);
68 /// Not implemented
69 AliMpMotifMap& operator=(const AliMpMotifMap& rhs);
70
5f91c9e8 71 // methods
f79c58a5 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;
5f91c9e8 76 void PrintMotifs() const;
77 void PrintMotifTypes() const;
78 void PrintMotifPositions() const;
79 void PrintMotifPositions2() const;
5f91c9e8 80
5f91c9e8 81 // data members
2294822d 82 AliMpExMap fMotifs; ///< motifs map
83 AliMpExMap fMotifTypes; ///< motifs types map
84 AliMpExMap fMotifPositions; ///< motifs positions map
85 AliMpExMap fMotifPositions2;///< motifs positions map
5f91c9e8 86
87 ClassDef(AliMpMotifMap,1) // motif map
88};
89
90#endif //ALI_MP_MOTIF_MAP_H