]>
Commit | Line | Data |
---|---|---|
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 | |
26 | class AliMpVMotif; | |
27 | class AliMpMotifType; | |
28 | class AliMpMotifPosition; | |
ffb47139 | 29 | class AliMpMotifMap; |
5f91c9e8 | 30 | |
2a7ea2e6 | 31 | class TArrayI; |
32 | class TString; | |
2a7ea2e6 | 33 | |
5f91c9e8 | 34 | class 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 |