library: libGeom #include "TGeoArb8.h" |
TGeoTrap
class description - 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
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)
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()
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.