class TGeoGtra: public TGeoTrap

 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.

Function Members (Methods)

public:
TGeoGtra()
TGeoGtra(const TGeoGtra&)
TGeoGtra(Double_t dz, Double_t theta, Double_t phi, Double_t twist, Double_t h1, Double_t bl1, Double_t tl1, Double_t alpha1, Double_t h2, Double_t bl2, Double_t tl2, Double_t alpha2)
TGeoGtra(const char* name, Double_t dz, Double_t theta, Double_t phi, Double_t twist, Double_t h1, Double_t bl1, Double_t tl1, Double_t alpha1, Double_t h2, Double_t bl2, Double_t tl2, Double_t alpha2)
virtual~TGeoGtra()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
static Bool_tTGeoBBox::AreOverlapping(const TGeoBBox* box1, const TGeoMatrix* mat1, const TGeoBBox* box2, const TGeoMatrix* mat2)
static Double_tTGeoShape::Big()
virtual voidTObject::Browse(TBrowser* b)
virtual Double_tTGeoArb8::Capacity() const
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTGeoArb8::ComputeBBox()
virtual voidTGeoArb8::ComputeNormal(Double_t* point, Double_t* dir, Double_t* norm)
voidTGeoArb8::ComputeTwist()
virtual Bool_tTGeoArb8::Contains(Double_t* point) const
virtual voidTNamed::Copy(TObject& named) const
virtual Bool_tTGeoBBox::CouldBeCrossed(Double_t* point, Double_t* dir) const
virtual voidTObject::Delete(Option_t* option = "")
virtual Int_tTGeoBBox::DistancetoPrimitive(Int_t px, Int_t py)
virtual Double_tDistFromInside(Double_t* point, Double_t* dir, Int_t iact = 1, Double_t step = TGeoShape::Big(), Double_t* safe = 0) const
virtual Double_tDistFromOutside(Double_t* point, Double_t* dir, Int_t iact = 1, Double_t step = TGeoShape::Big(), Double_t* safe = 0) const
static Double_tTGeoShape::DistToPhiMin(Double_t* point, Double_t* dir, Double_t s1, Double_t c1, Double_t s2, Double_t c2, Double_t sm, Double_t cm, Bool_t in = kTRUE)
Double_tTGeoArb8::DistToPlane(Double_t* point, Double_t* dir, Int_t ipl, Bool_t in) const
virtual TGeoVolume*TGeoTrap::Divide(TGeoVolume* voldiv, const char* divname, Int_t iaxis, Int_t ndiv, Double_t start, Double_t step)
virtual voidTGeoShape::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() const
virtual TObject*TObject::DrawClone(Option_t* option = "") const
virtual voidTObject::Dump() const
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTGeoShape::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Double_tTGeoTrap::GetAlpha1() const
Double_tTGeoTrap::GetAlpha2() const
virtual const char*TGeoBBox::GetAxisName(Int_t iaxis) const
virtual Double_tTGeoArb8::GetAxisRange(Int_t iaxis, Double_t& xlo, Double_t& xhi) const
Double_tTGeoTrap::GetBl1() const
Double_tTGeoTrap::GetBl2() const
virtual voidTGeoArb8::GetBoundingCylinder(Double_t* param) const
virtual const TBuffer3D&TGeoBBox::GetBuffer3D(Int_t reqSections, Bool_t localFrame) const
virtual Int_tTGeoArb8::GetByteCount() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual Double_tTGeoBBox::GetDX() const
virtual Double_tTGeoBBox::GetDY() const
Double_tTGeoArb8::GetDz() const
virtual Double_tTGeoBBox::GetDZ() const
virtual Int_tTGeoArb8::GetFittingBox(const TGeoBBox* parambox, TGeoMatrix* mat, Double_t& dx, Double_t& dy, Double_t& dz) const
Double_tTGeoTrap::GetH1() const
Double_tTGeoTrap::GetH2() const
virtual const char*TObject::GetIconName() const
Int_tTGeoShape::GetId() const
virtual TGeoShape*GetMakeRuntimeShape(TGeoShape* mother, TGeoMatrix* mat) const
virtual voidTGeoBBox::GetMeshNumbers(Int_t& nvert, Int_t& nsegs, Int_t& npols) const
virtual const char*TGeoShape::GetName() const
virtual Int_tTGeoBBox::GetNmeshVertices() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual const Double_t*TGeoBBox::GetOrigin() const
Double_tTGeoTrap::GetPhi() const
static voidTGeoArb8::GetPlaneNormal(Double_t* p1, Double_t* p2, Double_t* p3, Double_t* norm)
char*TGeoShape::GetPointerName() const
Double_tTGeoTrap::GetTheta() const
virtual const char*TNamed::GetTitle() const
Double_tTGeoTrap::GetTl1() const
Double_tTGeoTrap::GetTl2() const
static TGeoMatrix*TGeoShape::GetTransform()
Double_tTGeoArb8::GetTwist(Int_t iseg) const
Double_tGetTwistAngle() const
virtual UInt_tTObject::GetUniqueID() const
Double_t*TGeoArb8::GetVertices()
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
static Bool_tTGeoArb8::InsidePolygon(Double_t x, Double_t y, Double_t* pts)
virtual voidTObject::Inspect() const
virtual voidTGeoArb8::InspectShape() const
voidTObject::InvertBit(UInt_t f)
voidTGeoShape::InvertShapeBit(UInt_t f)
virtual TClass*IsA() const
static Bool_tTGeoShape::IsCloseToPhi(Double_t epsil, Double_t* point, Double_t c1, Double_t s1, Double_t c2, Double_t s2)
virtual Bool_tTGeoShape::IsComposite() const
static Bool_tTGeoShape::IsCrossingSemiplane(Double_t* point, Double_t* dir, Double_t cphi, Double_t sphi, Double_t& snext, Double_t& rxy)
virtual Bool_tTGeoArb8::IsCylType() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
static Bool_tTGeoShape::IsInPhiRange(Double_t* point, Double_t phi1, Double_t phi2)
virtual Bool_tTGeoBBox::IsNullBox() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTGeoShape::IsReflected() const
Bool_tTGeoShape::IsRunTimeShape() const
static Bool_tTGeoArb8::IsSamePoint(Double_t* p1, Double_t* p2)
virtual Bool_tTNamed::IsSortable() const
Bool_tTGeoArb8::IsTwisted() const
Bool_tTGeoShape::IsValid() const
virtual Bool_tTGeoBBox::IsValidBox() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
virtual TBuffer3D*TGeoBBox::MakeBuffer3D() const
voidTObject::MayNotUse(const char* method) const
static voidTGeoShape::NormalPhi(Double_t* point, Double_t* dir, Double_t* norm, Double_t c1, Double_t s1, Double_t c2, Double_t s2)
virtual Bool_tTObject::Notify()
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
virtual voidTGeoShape::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
voidTGeoShape::ResetShapeBit(UInt_t f)
virtual Double_tTGeoTrap::Safety(Double_t* point, Bool_t in = kTRUE) const
static Double_tTGeoShape::SafetyPhi(Double_t* point, Bool_t in, Double_t phi1, Double_t phi2)
Double_tTGeoArb8::SafetyToFace(Double_t* point, Int_t iseg, Bool_t in) const
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") const
virtual voidSavePrimitive(ostream& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidTGeoBBox::SetBoxDimensions(Double_t dx, Double_t dy, Double_t dz, Double_t* origin = 0)
voidTGeoBBox::SetBoxPoints(Double_t* points) const
virtual voidSetDimensions(Double_t* param)
virtual voidTObject::SetDrawOption(Option_t* option = "")
static voidTObject::SetDtorOnly(void* obj)
voidTGeoArb8::SetDz(Double_t dz)
voidTGeoShape::SetId(Int_t id)
virtual voidTNamed::SetName(const char* name)
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
voidTGeoArb8::SetPlaneVertices(Double_t zpl, Double_t* vertices) const
virtual voidTGeoArb8::SetPoints(Double_t* points) const
virtual voidTGeoArb8::SetPoints(Float_t* points) const
voidTGeoShape::SetRuntime(Bool_t flag = kTRUE)
virtual voidTGeoBBox::SetSegsAndPols(TBuffer3D& buffer) const
voidTGeoShape::SetShapeBit(UInt_t f)
voidTGeoShape::SetShapeBit(UInt_t f, Bool_t set)
virtual voidTNamed::SetTitle(const char* title = "")
static voidTGeoShape::SetTransform(TGeoMatrix* matrix)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidTGeoArb8::SetVertex(Int_t vnum, Double_t x, Double_t y)
Int_tTGeoShape::ShapeDistancetoPrimitive(Int_t numpoints, Int_t px, Int_t py) const
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual Int_tTNamed::Sizeof() const
virtual voidTGeoArb8::Sizeof3D() const
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
Bool_tTGeoShape::TestShapeBit(UInt_t f) const
Int_tTGeoShape::TestShapeBits(UInt_t f) const
static Double_tTGeoShape::Tolerance()
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
virtual voidTGeoBBox::FillBuffer3D(TBuffer3D& buffer, Int_t reqSections, Bool_t localFrame) const
Int_tTGeoShape::GetBasicColor() const
voidTObject::MakeZombie()
TGeoArb8&TGeoArb8::operator=(const TGeoArb8&)
voidTGeoShape::SetOnBoundary(Bool_t)
voidTGeoShape::TransformPoints(Double_t* points, UInt_t NbPoints) const

Data Members

public:
enum TGeoArb8::EGeoArb8Type { kArb8Trap
kArb8Tra
};
enum TGeoShape::EShapeType { kBitMask32
kGeoNoShape
kGeoBad
kGeoRSeg
kGeoPhiSeg
kGeoThetaSeg
kGeoVisX
kGeoVisY
kGeoVisZ
kGeoRunTimeShape
kGeoInvalidShape
kGeoTorus
kGeoBox
kGeoPara
kGeoSph
kGeoTube
kGeoTubeSeg
kGeoCone
kGeoConeSeg
kGeoPcon
kGeoPgon
kGeoArb8
kGeoEltu
kGeoTrap
kGeoCtub
kGeoTrd1
kGeoTrd2
kGeoComb
kGeoClosedShape
kGeoXtru
kGeoParaboloid
kGeoHalfSpace
kGeoHype
kGeoSavePrimitive
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
Double_tTGeoTrap::fAlpha1angle between centers of x edges an y axis at low z
Double_tTGeoTrap::fAlpha2angle between centers of x edges an y axis at low z
Double_tTGeoTrap::fBl1half length in x at low z and y low edge
Double_tTGeoTrap::fBl2half length in x at high z and y low edge
Double_tTGeoBBox::fDXX half-length
Double_tTGeoBBox::fDYY half-length
Double_tTGeoBBox::fDZZ half-length
Double_tTGeoArb8::fDzhalf length in Z
Double_tTGeoTrap::fH1half length in y at low z
Double_tTGeoTrap::fH2half length in y at high z
TStringTNamed::fNameobject identifier
Double_tTGeoBBox::fOrigin[3]box origin
Double_tTGeoTrap::fPhiphi angle
UInt_tTGeoShape::fShapeBitsshape bits
Int_tTGeoShape::fShapeIdshape id
Double_tTGeoTrap::fThetatheta angle
TStringTNamed::fTitleobject title
Double_tTGeoTrap::fTl1half length in x at low z and y high edge
Double_tTGeoTrap::fTl2half length in x at high z and y high edge
Double_t*TGeoArb8::fTwist! [4] tangents of twist angles
Double_tfTwistAngletwist angle in degrees
Double_tTGeoArb8::fXY[8][2]list of vertices

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TGeoGtra(const TGeoGtra& )
 Default ctor
TGeoGtra(Double_t dz, Double_t theta, Double_t phi, Double_t twist, 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.
TGeoGtra(const char* name, Double_t dz, Double_t theta, Double_t phi, Double_t twist, 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 providing the name of the shape.
~TGeoGtra()
 Destructor.
Double_t DistFromInside(Double_t* point, Double_t* dir, Int_t iact = 1, Double_t step = TGeoShape::Big(), Double_t* safe = 0) const
 Compute distance from inside point to surface of the shape.
Double_t DistFromOutside(Double_t* point, Double_t* dir, Int_t iact = 1, Double_t step = TGeoShape::Big(), Double_t* safe = 0) const
 Compute distance from inside point to surface of the shape.
TGeoShape * GetMakeRuntimeShape(TGeoShape* mother, TGeoMatrix* mat) const
 In case shape has some negative parameters, these has to be computed
 in order to fit the mother
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
 param[11] = twist
TGeoGtra(const TGeoGtra& )
 constructors
Double_t GetTwistAngle()
{return fTwistAngle;}

Author: Andrei Gheata 24/10/01
Last update: root/geom:$Id: TGeoArb8.h 21425 2007-12-17 15:59:27Z brun $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *

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.