library: libGeom
#include "TGeoArb8.h"

TGeoTrap


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

class TGeoTrap : public TGeoArb8

Inheritance Chart:
TObject
<-
TNamed
<-
TGeoShape
<-
TGeoBBox
<-
TGeoArb8
<-
TGeoTrap
<-
TGeoGtra

    public:
TGeoTrap() TGeoTrap(Double_t dz, Double_t theta, Double_t phi) TGeoTrap(Double_t dz, Double_t theta, Double_t phi, Double_t h1, Double_t bl1, Double_t tl1, Double_t alpha1, Double_t h2, Double_t bl2, Double_t tl2, Double_t alpha2) TGeoTrap(const char* name, Double_t dz, Double_t theta, Double_t phi, Double_t h1, Double_t bl1, Double_t tl1, Double_t alpha1, Double_t h2, Double_t bl2, Double_t tl2, Double_t alpha2) TGeoTrap(const TGeoTrap&) virtual ~TGeoTrap() static TClass* Class() virtual Double_t DistFromInside(Double_t* point, Double_t* dir, Int_t iact = 1, Double_t step = TGeoShape::Big(), Double_t* safe = 0) const virtual Double_t DistFromOutside(Double_t* point, Double_t* dir, Int_t iact = 1, Double_t step = TGeoShape::Big(), Double_t* safe = 0) const virtual TGeoVolume* Divide(TGeoVolume* voldiv, const char* divname, Int_t iaxis, Int_t ndiv, Double_t start, Double_t step) Double_t GetAlpha1() const Double_t GetAlpha2() const Double_t GetBl1() const Double_t GetBl2() const Double_t GetH1() const Double_t GetH2() const virtual TGeoShape* GetMakeRuntimeShape(TGeoShape* mother, TGeoMatrix* mat) const virtual Int_t GetNmeshVertices() const Double_t GetPhi() const Double_t GetTheta() const Double_t GetTl1() const Double_t GetTl2() const virtual TClass* IsA() const TGeoTrap& operator=(const TGeoTrap&) virtual Double_t Safety(Double_t* point, Bool_t in = kTRUE) const virtual void SavePrimitive(ofstream& out, Option_t* option) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members


    protected:
Double_t fTheta theta angle Double_t fPhi phi angle Double_t fH1 half length in y at low z Double_t fBl1 half length in x at low z and y low edge Double_t fTl1 half length in x at low z and y high edge Double_t fAlpha1 angle between centers of x edges an y axis at low z Double_t fH2 half length in y at high z Double_t fBl2 half length in x at high z and y low edge Double_t fTl2 half length in x at high z and y high edge Double_t fAlpha2 angle between centers of x edges an y axis at low z

Class Description

 TGeoArb8 - a arbitrary trapezoid with less than 8 vertices standing on
   two paralel planes perpendicular to Z axis. Parameters :
            - dz - half length in Z;
            - xy[8][2] - vector of (x,y) coordinates of vertices
               - first four points (xy[i][j], i<4, j<2) are the (x,y)
                 coordinates of the vertices sitting on the -dz plane;
               - last four points (xy[i][j], i>=4, j<2) are the (x,y)
                 coordinates of the vertices sitting on the +dz plane;
   The order of defining the vertices of an arb8 is the following :
      - point 0 is connected with points 1,3,4
      - point 1 is connected with points 0,2,5
      - point 2 is connected with points 1,3,6
      - point 3 is connected with points 0,2,7
      - point 4 is connected with points 0,5,7
      - point 5 is connected with points 1,4,6
      - point 6 is connected with points 2,5,7
      - point 7 is connected with points 3,4,6
   Points can be identical in order to create shapes with less than
   8 vertices.


TGeoTrap()
 Default ctor

TGeoTrap(Double_t dz, Double_t theta, Double_t phi) :TGeoArb8("", 0, 0)
 Constructor providing just a range in Z, theta and phi.

TGeoTrap(Double_t dz, Double_t theta, Double_t phi, Double_t h1, Double_t bl1, Double_t tl1, Double_t alpha1, Double_t h2, Double_t bl2, Double_t tl2, Double_t alpha2) :TGeoArb8("", 0, 0)
 Normal constructor.

TGeoTrap(const char *name, Double_t dz, Double_t theta, Double_t phi, Double_t h1, Double_t bl1, Double_t tl1, Double_t alpha1, Double_t h2, Double_t bl2, Double_t tl2, Double_t alpha2) :TGeoArb8(name, 0, 0)
 Constructor with name.

~TGeoTrap()
 destructor

Double_t DistFromInside(Double_t *point, Double_t *dir, Int_t iact, Double_t step, Double_t *safe) const
 Compute distance from inside point to surface of the trapezoid

Double_t DistFromOutside(Double_t *point, Double_t *dir, Int_t iact, Double_t step, Double_t *safe) const
 Compute distance from outside point to surface of the trapezoid

TGeoVolume* Divide(TGeoVolume *voldiv, const char *divname, Int_t iaxis, Int_t ndiv, Double_t start, Double_t step)
--- Divide this trapezoid shape belonging to volume "voldiv" into ndiv volumes
 called divname, from start position with the given step. Only Z divisions
 are supported. For Z divisions just return the pointer to the volume to be
 divided. In case a wrong division axis is supplied, returns pointer to
 volume that was divided.

TGeoShape* GetMakeRuntimeShape(TGeoShape *mother, TGeoMatrix * /*mat*/) const
 In case shape has some negative parameters, these have to be computed
 in order to fit the mother.

Double_t Safety(Double_t *point, Bool_t in) const
 Computes the closest distance from given point to this shape.

void SavePrimitive(ofstream &out, Option_t * /*option*/)
 Save a primitive as a C++ statement(s) on output stream "out".



Inline Functions


           Double_t GetTheta() const
           Double_t GetPhi() const
           Double_t GetH1() const
           Double_t GetBl1() const
           Double_t GetTl1() const
           Double_t GetAlpha1() const
           Double_t GetH2() const
           Double_t GetBl2() const
           Double_t GetTl2() const
           Double_t GetAlpha2() const
              Int_t GetNmeshVertices() const
            TClass* Class()
            TClass* IsA() const
               void ShowMembers(TMemberInspector& insp, char* parent)
               void Streamer(TBuffer& b)
               void StreamerNVirtual(TBuffer& b)
           TGeoTrap TGeoTrap(const TGeoTrap&)
          TGeoTrap& operator=(const TGeoTrap&)


Author: Andrei Gheata 31/01/02
Last update: root/geom:$Name: $:$Id: TGeoArb8.cxx,v 1.48 2006/02/03 09:08:32 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *


ROOT page - Class index - Class Hierarchy - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.