text: #ifndef ALIMUONCONTOURHANDLER_H
  #define ALIMUONCONTOURHANDLER_H
  
  /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
  * See cxx source for full Copyright notice                               */
  
  // $Id$
  
  /// \ingroup graphics
  /// \class AliMUONContourHandler
  /// \brief Holder for MUON tracker contours
  /// 
  //  Author Laurent Aphecetche
  
  #ifndef ROOT_TObject
  #  include "TObject.h"
  #endif
  
  class TObjArray;
  class AliMpExMap;
  class TMap;
  class AliMUONContour;
  
  class AliMUONContourHandler : public TObject
  {
  public:
    AliMUONContourHandler(Bool_t explodedView=kTRUE);
    virtual ~AliMUONContourHandler();
    
    Bool_t Adopt(AliMUONContour* contour); 
    
    /// Get all the contours as a map
    TMap* AllContourMap() const { return fAllContourMap; }
    
    /// Get all the contours as an array
    TObjArray* AllContourArray() const { return fAllContourArray; }
    
    AliMUONContour* GetContour(const char* contourname) const;
    
    /// Get detection element geometrical transformations
    AliMpExMap* GetTransformations() const { return fTransformations; }
    
    void Print(Option_t* opt="") const;
    
  private:
    /// Not implemented
    AliMUONContourHandler(const AliMUONContourHandler& rhs);
    /// Not implemented
    AliMUONContourHandler& operator=(const AliMUONContourHandler& rhs);
    
    AliMpExMap* GenerateTransformations(Bool_t exploded);
    
    TObjArray* CreateContourList(const TObjArray& manuContours);
    
    void GenerateAllContours(const TObjArray& manuContours);  
    
  private:
    AliMpExMap* fTransformations; ///< transformations used to go from local to global coordinates
    TMap* fAllContourMap; ///< all (i.e. manus,  buspatches, detection elements, etc..) contours
    TObjArray* fAllContourArray; ///< all contours, ordered by hierarchy level
    
    ClassDef(AliMUONContourHandler,1) // MUON tracker contour holder
  };
  
  #endif
  