library: libGeom #include "TGeoArb8.h" |
TGeoTrap
class description - header file - source file - inheritance tree (.pdf)
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)
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
________________________________________________________________________
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(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.
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.
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
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.