library: libGraf3d #include "TMarker3DBox.h"

# TMarker3DBox

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

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

| Inheritance Chart:
`TObject`
`TAttLine`
`TAttFill`
`TAtt3D`
| <- | `TMarker3DBox` |

        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 SavePrimitive(ofstream& out, Option_t* option)
             virtual void SetDirection(Float_t theta, Float_t phi)
             virtual void SetPoints(Double_t* buff) const
             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 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 */ )

void PaintH3(TH1 *h, Option_t *option)

     Paint 3-d histogram h with marker3dboxes

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(Double_t *points) const

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: Rene Brun, Olivier Couet 31/10/97
Last update: root/g3d:$Name: $:$Id: TMarker3DBox.cxx,v 1.12 2005/03/09 18:19:26 brun Exp $
Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. *