]>
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; | |
33 | class TVector2; | |
34 | ||
5f91c9e8 | 35 | class 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 |