+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice */
+
// $Id$
-// Category: graphics
-//
-// Class AliMpGraphContext
-// -----------------------
-// Class describing the correspondance between a given area
-// in pad, and a zone of real (cm) position
-//
-// Author: David GUEZ, IPN Orsay
-
-#ifndef ALI_MP_GRAPH_CONTEXT
-#define ALI_MP_GRAPH_CONTEXT
+// $MpId: AliMpGraphContext.h,v 1.11 2006/05/24 13:58:13 ivana Exp $
+
+/// \ingroup graphics
+/// \class AliMpGraphContext
+/// \brief Class describing the correspondance between a given area
+/// in pad, and a zone of real (cm) position
+///
+/// \author David GUEZ, IPN Orsay
+
+#ifndef ALI_MP_GRAPH_CONTEXT_H
+#define ALI_MP_GRAPH_CONTEXT_H
#include <TObject.h>
+
+#include "AliMpContainers.h"
+
#include <TVector2.h>
+#ifdef WITH_ROOT
+#include "AliMpExMap.h"
+#endif
-#include "AliMpGraphicsTypes.h"
+#ifdef WITH_STL
+#include <vector>
+#endif
class MPainter;
-class AliMpGraphContext : public TObject{
+class AliMpGraphContext : public TObject
+{
+ public:
+#ifdef WITH_STL
+ typedef std::vector<AliMpGraphContext*> GraphContextVector;
+#endif
+#ifdef WITH_ROOT
+ typedef TObjArray GraphContextVector;
+#endif
+
public:
void Push() const;
void Pop();
TVector2 &padDimensions) const;
void SetPadPosForReal(const TVector2 &position,const TVector2 &dimensions);
+ protected:
+ AliMpGraphContext(const AliMpGraphContext& right);
+ AliMpGraphContext& operator = (const AliMpGraphContext& right);
+
private:
//private constructor (not instanciable from outside)
AliMpGraphContext();
- // static data members
- static AliMpGraphContext *fgInstance; // the global instance
- static GraphContextVector fgStack; // the object statck
+ ///< static data members
+ static AliMpGraphContext *fgInstance; ///< the global instance
+ static GraphContextVector fgStack; ///< the object stack
+#ifdef WITH_ROOT
+ static Int_t fgStackSize; ///< the object stack size
+#endif
//data members
- Int_t fColor; // color to use
- TVector2 fPadPosition; // Position of the pad area where to draw
- TVector2 fPadDimensions; // Dimensions of the pad area where to draw
+ Int_t fColor; ///< color to use
+ TVector2 fPadPosition; ///< Position of the pad area where to draw
+ TVector2 fPadDimensions; ///< Dimensions of the pad area where to draw
- TVector2 fRealPosition; // Position of the real area to draw
- TVector2 fRealDimensions; // Dimensions of the real area to draw
+ TVector2 fRealPosition; ///< Position of the real area to draw
+ TVector2 fRealDimensions; ///< Dimensions of the real area to draw
ClassDef(AliMpGraphContext,1) // Correspondance pad area/real world
};
-#endif //ALI_MP_GRAPH_CONTEXT
+#endif //ALI_MP_GRAPH_CONTEXT_H