]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/mapping/AliMpMotifMap.h
Updates from David Rohr to add checks for fakes and clones and several bugfixes
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpMotifMap.h
index 0a0402d6fab7f78d13dee8232427b3c29521620f..9673a3af36a80b43a1271fd2d1c9cefd55b6dacc 100755 (executable)
 
 #include <TObject.h>
 
-#include "AliMpContainers.h"
-
-#ifdef WITH_STL
-#include "AliMpIntPair.h"
-#endif
-
-#ifdef WITH_ROOT
 #include "AliMpExMap.h"
-#endif
-
-#ifdef WITH_STL
-#include <map>
-#include <iterator>
-#endif
 
 class AliMpVMotif;
 class AliMpMotifType;
@@ -43,31 +30,12 @@ class AliMpMotifMap;
 
 class TArrayI;
 class TString;
-class TVector2;
 
 class AliMpMotifMap : public TObject
 {
   public:
-#ifdef WITH_STL
-    typedef std::map<TString, AliMpVMotif*> MotifMap;
-    typedef MotifMap::const_iterator        MotifMapIterator;
-    typedef std::map<TString, AliMpMotifType*> MotifTypeMap;
-    typedef MotifTypeMap::const_iterator       MotifTypeMapIterator;
-    typedef std::map<Int_t, AliMpMotifPosition*>  MotiPositionMap;
-    typedef MotiPositionMap::const_iterator       MotifPositionMapIterator;
-    typedef std::map<AliMpIntPair, AliMpMotifPosition*> MotifPositionMap2;
-    typedef MotifPositionMap2::const_iterator           MotifPositionMap2Iterator;
-#endif    
-#ifdef WITH_ROOT
-    typedef AliMpExMap MotifMap;
-    typedef AliMpExMap MotifTypeMap;
-    typedef AliMpExMap MotifPositionMap;
-    typedef AliMpExMap MotifPositionMap2;
-#endif    
-
-  public:
-    AliMpMotifMap(Bool_t /*standardConstructor*/);
     AliMpMotifMap();
+    AliMpMotifMap(TRootIOCtor* ioCtor);
     virtual ~AliMpMotifMap();
     
     // methods
@@ -82,7 +50,7 @@ class AliMpMotifMap : public TObject
     // find methods
     AliMpVMotif*  FindMotif(const TString& motifID) const;
     AliMpVMotif*  FindMotif(const TString& motifID, const TString& motifTypeID, 
-                            const TVector2& padDimensions) const;
+                            Double_t padDimensionX, Double_t padDimensionY) const;
     AliMpMotifType*      FindMotifType(const TString& motifTypeID) const;
     AliMpMotifPosition*  FindMotifPosition(Int_t motifPositionID) const;
 
@@ -95,6 +63,11 @@ class AliMpMotifMap : public TObject
     Int_t CalculateNofPads() const;
      
   private:
+    /// Not implemented
+    AliMpMotifMap(const AliMpMotifMap& rhs);
+    /// Not implemented
+    AliMpMotifMap& operator=(const AliMpMotifMap& rhs);
+  
     // methods
     void  PrintMotif(const AliMpVMotif* motif) const;
     void  PrintMotifType(const AliMpMotifType* motifType) const;
@@ -106,15 +79,10 @@ class AliMpMotifMap : public TObject
     void  PrintMotifPositions2() const;
  
     // data members
-    MotifMap           fMotifs;         ///< motifs map
-    MotifTypeMap       fMotifTypes;     ///< motifs types map
-#ifdef WITH_STL
-    std::map<Int_t, AliMpMotifPosition*> fMotifPositions; ///< motif positions map by Id
-#endif
-#ifdef WITH_ROOT
-    MotifPositionMap   fMotifPositions; ///< motifs positions map
-#endif
-    MotifPositionMap2  fMotifPositions2;///< motifs positions map
+    AliMpExMap   fMotifs;         ///< motifs map
+    AliMpExMap   fMotifTypes;     ///< motifs types map
+    AliMpExMap   fMotifPositions; ///< motifs positions map
+    AliMpExMap   fMotifPositions2;///< motifs positions map
 
   ClassDef(AliMpMotifMap,1)  // motif map
 };