library: libGeom
#include "TGeoArb8.h"

TGeoTrap


class description - header file - 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 virtual Double_t Safety(Double_t* point, Bool_t in = kTRUE) const virtual void SavePrimitive(ostream& out, Option_t* option = "") virtual void SetDimensions(Double_t* param) 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)
 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)
 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)
 Constructor with name.
~TGeoTrap()
 destructor
Double_t DistFromInside(Double_t *point, Double_t *dir, Int_t iact, Double_t step, Double_t *safe)
 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)
 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.
Double_t Safety(Double_t *point, Bool_t in)
 Computes the closest distance from given point to this shape.
void SavePrimitive(ostream &out, Option_t * /*option*/ /*= ""*/)
 Save a primitive as a C++ statement(s) on output stream "out".
void SetDimensions(Double_t *param)
 Set all arb8 params in one step.
 param[0] = dz
 param[1] = theta
 param[2] = phi
 param[3] = h1
 param[4] = bl1
 param[5] = tl1
 param[6] = alpha1
 param[7] = h2
 param[8] = bl2
 param[9] = tl2
 param[10] = alpha2
Int_t GetNmeshVertices()
TGeoTrap()
 constructors
Double_t GetTheta()
Double_t GetPhi()
Double_t GetH1()
Double_t GetBl1()
Double_t GetTl1()
Double_t GetAlpha1()
Double_t GetH2()
Double_t GetBl2()
Double_t GetTl2()
Double_t GetAlpha2()

Author: Andrei Gheata 31/01/02
Last update: root/geom:$Name: $:$Id: TGeoArb8.cxx,v 1.53 2006/07/11 09:14:05 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.