library: libGraf3d #include "TMarker3DBox.h"

# TMarker3DBox

class description - source file - inheritance tree (.ps)

## class TMarker3DBox : public TObject, public TAttLine, public TAttFill, public TAtt3D

| Inheritance Chart:

`TObject`

`TAttLine`

`TAttFill`

`TAtt3D`

<-

`TMarker3DBox`

        protected:

          virtual void PaintGLPoints(Float_t* buff)

        public:

                          TMarker3DBox()
                          TMarker3DBox(Float_t x, Float_t y, Float_t z, Float_t dx, Float_t dy, Float_t dz, Float_t theta, Float_t phi)
                          TMarker3DBox(const TMarker3DBox&)
                  virtual ~TMarker3DBox()
           static TClass* Class()
            virtual Int_t DistancetoPrimitive(Int_t px, Int_t py)
             virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py)
             virtual void GetDirection(Float_t& theta, Float_t& phi) const
             virtual void GetPosition(Float_t& x, Float_t& y, Float_t& z) const
                 TObject* GetRefObject() const
             virtual void GetSize(Float_t& dx, Float_t& dy, Float_t& dz) const
          virtual TClass* IsA() const
            TMarker3DBox& operator=(const TMarker3DBox&)
             virtual void Paint(Option_t* option)
              static void PaintH3(TH1* h, Option_t* option)
             virtual void PaintShape(X3DBuffer* buff, Bool_t rangeView = kFALSE)
             virtual void SavePrimitive(ofstream& out, Option_t* option)
             virtual void SetDirection(Float_t theta, Float_t phi)
             virtual void SetPoints(Float_t* buff)
             virtual void SetPosition(Float_t x, Float_t y, Float_t z)
             virtual void SetRefObject(TObject* obj = 0)
             virtual void SetSize(Float_t dx, Float_t dy, Float_t dz)
             virtual void ShowMembers(TMemberInspector& insp, char* parent)
             virtual void Sizeof3D() const
              static void SizeofH3(TH1* h)
             virtual void Streamer(TBuffer& b)
                     void StreamerNVirtual(TBuffer& b)

### Data Members

        protected:

           Float_t fX          X coordinate of center of box
           Float_t fY          Y coordinate of center of box
           Float_t fZ          Z coordinate of center of box
           Float_t fDx         half length in x
           Float_t fDy         half length in y
           Float_t fDz         half length in z
           Float_t fTheta      Angle of box z axis with respect to main Z axis
           Float_t fPhi        Angle of box x axis with respect to main Xaxis
          TObject* fRefObject  Pointer to an object

## Class Description

     Marker3DBox is a special 3-D marker designed for event display.
     It has the following parameters:
        fX;               X coordinate of the center of the box
        fY;               Y coordinate of the center of the box
        fZ;               Z coordinate of the center of the box
        fDx;              half length in X
        fDy;              half length in Y
        fDz;              half length in Z
        fTheta;           Angle of box z axis with respect to main Z axis
        fPhi;             Angle of box x axis with respect to main Xaxis
        fRefObject;       A reference to an object

TMarker3DBox()

    *-*-*-*-*-*-*-*-*-*-*-*-*Marker3DBox  default constructor*-*-*-*-*-*-*-*-*-*
    *-*                      ================================

TMarker3DBox( Float_t x, Float_t y, Float_t z, Float_t dx, Float_t dy, Float_t dz, Float_t theta, Float_t phi) :TAttLine(1,1,1), TAttFill(1,0)

    *-*-*-*-*-*-*-*-*-*-*-*-*Marker3DBox normal constructor*-*-*-*-*-*-*-*-*-*-*-*-*
    *-*                      =============================

~TMarker3DBox()

    *-*-*-*-*-*-*-*-*-*-*-*-*Marker3DBox shape default destructor*-*-*-*-*-*-*-*-*-*-*-*-*
    *-*                      =============================

Int_t DistancetoPrimitive(Int_t px, Int_t py)

    *-*-*-*-*-*-*-*Compute distance from point px,py to a Marker3DBox*-*-*-*-*
    *-*            ==================================================
    *-*
    *-*  Compute the closest distance of approach from point px,py to each corner
    *-*  point of the Marker3DBox.
    *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

void ExecuteEvent(Int_t event, Int_t px, Int_t py)

    *-*-*-*-*-*-*-*-*-*Execute action corresponding to one event*-*-*-*-*-*-*-*-*-*
    *-*                =========================================
    *-*
    *-*  This member function must be implemented to realize the action
    *-*  corresponding to the mouse click on the object in the window
    *-*
    *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

void Paint(Option_t *option)

    *-*-*-*-*-*-*-*Paint this 3-D box marker with its current attributes*-*-*-*
    *-*            =====================================================

void PaintGLPoints(Float_t *vertex)

    *-*-*-*-*-*-*-*-*-*-*Direct copy of TBRIK::PaintGLPoints*-*-*-*-*-*-*-*-*-*
    *-*                  ===================================

void PaintH3(TH1 *h, Option_t *option)

    *-*-*-*-*-*-*-*Paint 3-d histogram h with marker3dboxes*-*-*-*
    *-*            ========================================

void PaintShape(X3DBuffer *buff, Bool_t rangeView)

    *-*-*-*-*Paint 3-D marker in current pad with its current attributes*-*-*-*-*
    *-*      ==========================================================

void SavePrimitive(ofstream &out, Option_t *)

     Save primitive as a C++ statement(s) on output stream out

void SetDirection(Float_t theta, Float_t phi)

void SetSize(Float_t dx, Float_t dy, Float_t dz)

void SetPosition(Float_t x, Float_t y, Float_t z)

void SetPoints(Float_t *buff)

    *-*-*-*-*-*-*-*-*-*-*Direct copy of TBRIK::SetPoints *-*-*-*-*-*-*-*-*-*-*
    *-*                  ===============================

void Sizeof3D() const

    *-*-*-*-*-*-*Return total X3D size of this marker*-*-*-*-*-*-*-*
    *-*          ====================================

void SizeofH3(TH1 *h)

    *-*-*-*-*-*-*Return total X3D size of 3-D histogram h*-*-*-*-*-*-*-*
    *-*          ========================================

void Streamer(TBuffer &R__b)

     Stream an object of class TMarker3DBox.

### Inline Functions

                 TObject* GetRefObject() const
                     void GetDirection(Float_t& theta, Float_t& phi) const
                     void GetPosition(Float_t& x, Float_t& y, Float_t& z) const
                     void GetSize(Float_t& dx, Float_t& dy, Float_t& dz) const
                     void SetRefObject(TObject* obj = 0)
                  TClass* Class()
                  TClass* IsA() const
                     void ShowMembers(TMemberInspector& insp, char* parent)
                     void StreamerNVirtual(TBuffer& b)
             TMarker3DBox TMarker3DBox(const TMarker3DBox&)
            TMarker3DBox& operator=(const TMarker3DBox&)

Author: "Valery fine" 31/10/97
Last update: root/g3d:$Name: $:$Id: TMarker3DBox.cxx,v 1.7 2002/02/02 11:56:14 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *