 ROOT   Reference Guide
Searching...
No Matches
TGeoParaboloid Class Reference

A paraboloid is defined by the revolution surface generated by a parabola and is bounded by two planes perpendicular to Z axis.

The parabola equation is taken in the form: z = a·r2 + b, where: r2 = x2 + y2. Note the missing linear term (parabola symmetric with respect to Z axis).

The coefficients a and b are computed from the input values which are the radii of the circular sections cut by the planes at +/-dz:

• -dz = a*r2low + b
• dz = a*r2high + b
TGeoParaboloid()
Dummy constructor. Definition at line 17 of file TGeoParaboloid.h.

## Public Member Functions

TGeoParaboloid ()
Dummy constructor.

TGeoParaboloid (const char *name, Double_t rlo, Double_t rhi, Double_t dz)
Default constructor specifying X and Y semiaxis length.

TGeoParaboloid (Double_t *params)
Default constructor specifying minimum and maximum radius.

TGeoParaboloid (Double_t rlo, Double_t rhi, Double_t dz)
Default constructor specifying X and Y semiaxis length.

~TGeoParaboloid () override
destructor

Double_t Capacity () const override
Computes capacity of the shape in [length^3].

void ComputeBBox () override
compute bounding box of the tube

void ComputeNormal (const Double_t *point, const Double_t *dir, Double_t *norm) override
Compute normal to closest surface from POINT.

void ComputeNormal_v (const Double_t *points, const Double_t *dirs, Double_t *norms, Int_t vecsize) override
Compute the normal for an array o points so that norm.dot.dir is positive Input: Arrays of point coordinates and directions + vector size Output: Array of normal directions.

Bool_t Contains (const Double_t *point) const override
test if point is inside the elliptical tube

void Contains_v (const Double_t *points, Bool_t *inside, Int_t vecsize) const override
Check the inside status for each of the points in the array.

Int_t DistancetoPrimitive (Int_t px, Int_t py) override
compute closest distance from point px,py to each vertex

Double_t DistFromInside (const Double_t *point, const Double_t *dir, Int_t iact=1, Double_t step=TGeoShape::Big(), Double_t *safe=nullptr) const override
compute distance from inside point to surface of the paraboloid

void DistFromInside_v (const Double_t *points, const Double_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const override
Compute distance from array of input points having directions specified by dirs. Store output in dists.

Double_t DistFromOutside (const Double_t *point, const Double_t *dir, Int_t iact=1, Double_t step=TGeoShape::Big(), Double_t *safe=nullptr) const override
compute distance from outside point to surface of the paraboloid and safe distance

void DistFromOutside_v (const Double_t *points, const Double_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const override
Compute distance from array of input points having directions specified by dirs. Store output in dists.

Double_t DistToParaboloid (const Double_t *point, const Double_t *dir, Bool_t in) const
Compute distance from a point to the parabola given by: z = a*rsq + b; rsq = x*x+y*y

TGeoVolumeDivide (TGeoVolume *voldiv, const char *divname, Int_t iaxis, Int_t ndiv, Double_t start, Double_t step) override
Divide the paraboloid along one axis.

void GetBoundingCylinder (Double_t *param) const override
Fill vector param with the bounding cylinder parameters.

const TBuffer3DGetBuffer3D (Int_t reqSections, Bool_t localFrame) const override
Fills a static 3D buffer and returns a reference.

Double_t GetDz () const

TGeoShapeGetMakeRuntimeShape (TGeoShape *mother, TGeoMatrix *mat) const override
in case shape has some negative parameters, these has to be computed in order to fit the mother

void GetMeshNumbers (Int_t &nvert, Int_t &nsegs, Int_t &npols) const override
Returns numbers of vertices, segments and polygons composing the shape mesh.

Int_t GetNmeshVertices () const override
Returns number of vertices on the paraboloid mesh.

Bool_t GetPointsOnSegments (Int_t, Double_t *) const override
Fills array with n random points located on the line segments of the shape mesh.

Double_t GetRhi () const

Double_t GetRlo () const

void InspectShape () const override
print shape parameters

TClassIsA () const override

Bool_t IsCylType () const override

TBuffer3DMakeBuffer3D () const override
Creates a TBuffer3D describing this shape.

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

void Safety_v (const Double_t *points, const Bool_t *inside, Double_t *safe, Int_t vecsize) const override
Compute safe distance from each of the points in the input array.

void SavePrimitive (std::ostream &out, Option_t *option="") override
Save a primitive as a C++ statement(s) on output stream "out".

void SetDimensions (Double_t *param) override
Set paraboloid dimensions starting from an array.

void SetParaboloidDimensions (Double_t rlo, Double_t rhi, Double_t dz)
Set paraboloid dimensions.

void SetPoints (Double_t *points) const override
Create paraboloid mesh points.

void SetPoints (Float_t *points) const override
Create paraboloid mesh points.

void SetSegsAndPols (TBuffer3D &buff) const override
Fill TBuffer3D structure for segments and polygons.

void Sizeof3D () const override

void Streamer (TBuffer &) override
Stream an object of class TObject.

void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) Public Member Functions inherited from TGeoBBox
TGeoBBox ()
Default constructor.

TGeoBBox (const char *name, Double_t dx, Double_t dy, Double_t dz, Double_t *origin=nullptr)
Constructor with shape name.

TGeoBBox (Double_t *param)
Constructor based on the array of parameters.

TGeoBBox (Double_t dx, Double_t dy, Double_t dz, Double_t *origin=nullptr)
Constructor where half-lengths are provided.

~TGeoBBox () override
Destructor.

Bool_t CouldBeCrossed (const Double_t *point, const Double_t *dir) const override
Decides fast if the bounding box could be crossed by a vector.

const char * GetAxisName (Int_t iaxis) const override
Returns name of axis IAXIS.

Double_t GetAxisRange (Int_t iaxis, Double_t &xlo, Double_t &xhi) const override
Get range of shape for a given axis.

Int_t GetByteCount () const override

virtual Double_t GetDX () const

virtual Double_t GetDY () const

virtual Double_t GetDZ () const

virtual Double_t GetFacetArea (Int_t index=0) const
Get area in internal units of the facet with a given index.

Int_t GetFittingBox (const TGeoBBox *parambox, TGeoMatrix *mat, Double_t &dx, Double_t &dy, Double_t &dz) const override
Fills real parameters of a positioned box inside this one. Returns 0 if successful.

virtual const Double_tGetOrigin () const

virtual Bool_t GetPointsOnFacet (Int_t index, Int_t npoints, Double_t *array) const
Fills array with n random points located on the surface of indexed facet.

virtual Bool_t IsNullBox () const

Bool_t IsValidBox () const override

void SetBoxDimensions (Double_t dx, Double_t dy, Double_t dz, Double_t *origin=nullptr)
Set parameters of the box.

void SetBoxPoints (Double_t *points) const
Fill box vertices to an array.

void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) Public Member Functions inherited from TGeoShape
TGeoShape ()
Default constructor.

TGeoShape (const char *name)
Default constructor.

~TGeoShape () override
Destructor.

virtual void AfterStreamer ()

void CheckShape (Int_t testNo, Int_t nsamples=10000, Option_t *option="")

void Draw (Option_t *option="") override
Draw this shape.

void ExecuteEvent (Int_t event, Int_t px, Int_t py) override
Execute mouse actions on this shape.

Int_t GetId () const

const char * GetName () const override
Get the shape name.

const char * GetPointerName () const
Provide a pointer name containing uid.

void InvertShapeBit (UInt_t f)

TClassIsA () const override

virtual Bool_t IsAssembly () const

virtual Bool_t IsComposite () const

virtual Bool_t IsReflected () const

Bool_t IsRunTimeShape () const

Bool_t IsValid () const

virtual Bool_t IsVecGeom () const

void Paint (Option_t *option="") override
Paint this shape.

void ResetShapeBit (UInt_t f)

void SetId (Int_t id)

void SetRuntime (Bool_t flag=kTRUE)

void SetShapeBit (UInt_t f)

void SetShapeBit (UInt_t f, Bool_t set)
Equivalent of TObject::SetBit.

Int_t ShapeDistancetoPrimitive (Int_t numpoints, Int_t px, Int_t py) const
Returns distance to shape primitive mesh.

void Streamer (TBuffer &) override
Stream an object of class TObject.

void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)

Bool_t TestShapeBit (UInt_t f) const

Int_t TestShapeBits (UInt_t f) const Public Member Functions inherited from TNamed
TNamed ()

TNamed (const char *name, const char *title)

TNamed (const TNamed &named)
TNamed copy ctor.

TNamed (const TString &name, const TString &title)

virtual ~TNamed ()
TNamed destructor.

void Clear (Option_t *option="") override
Set name and title to empty strings ("").

TObjectClone (const char *newname="") const override
Make a clone of an object using the Streamer facility.

Int_t Compare (const TObject *obj) const override
Compare two TNamed objects.

void Copy (TObject &named) const override
Copy this to obj.

virtual void FillBuffer (char *&buffer)
Encode TNamed into output buffer.

const char * GetName () const override
Returns name of object.

const char * GetTitle () const override
Returns title of object.

ULong_t Hash () const override
Return hash value for this object.

TClassIsA () const override

Bool_t IsSortable () const override

void ls (Option_t *option="") const override
List TNamed name and title.

TNamedoperator= (const TNamed &rhs)
TNamed assignment operator.

void Print (Option_t *option="") const override
Print TNamed name and title.

virtual void SetName (const char *name)
Set the name of the TNamed.

virtual void SetNameTitle (const char *name, const char *title)
Set all the TNamed parameters (name and title).

virtual void SetTitle (const char *title="")
Set the title of the TNamed.

virtual Int_t Sizeof () const
Return size of the TNamed part of the TObject.

void Streamer (TBuffer &) override
Stream an object of class TObject.

void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) Public Member Functions inherited from TObject
TObject ()
TObject constructor.

TObject (const TObject &object)
TObject copy ctor.

virtual ~TObject ()
TObject destructor.

void AbstractMethod (const char *method) const
Use this method to implement an "abstract" method that you don't want to leave purely abstract.

Append graphics object to current pad.

virtual void Browse (TBrowser *b)
Browse object. May be overridden for another default action.

ULong_t CheckedHash ()
Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object.

virtual const char * ClassName () const
Returns name of class to which the object belongs.

virtual void Delete (Option_t *option="")
Delete this object.

virtual void DrawClass () const
Draw class inheritance tree of the class to which this object belongs.

virtual TObjectDrawClone (Option_t *option="") const
Draw a clone of this object in the current selected pad with: gROOT->SetSelectedPad(c1).

virtual void Dump () const
Dump contents of object on stdout.

virtual void Error (const char *method, const char *msgfmt,...) const
Issue error message.

virtual void Execute (const char *method, const char *params, Int_t *error=nullptr)
Execute method on this object with the given parameter string, e.g.

virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=nullptr)
Execute method on this object with parameters stored in the TObjArray.

virtual void Fatal (const char *method, const char *msgfmt,...) const
Issue fatal error message.

virtual TObjectFindObject (const char *name) const
Must be redefined in derived classes.

virtual TObjectFindObject (const TObject *obj) const
Must be redefined in derived classes.

virtual Option_tGetDrawOption () const
Get option used by the graphics system to draw this object.

virtual const char * GetIconName () const
Returns mime type name of object.

virtual char * GetObjectInfo (Int_t px, Int_t py) const
Returns string containing info about the object at position (px,py).

virtual Option_tGetOption () const

virtual UInt_t GetUniqueID () const
Return the unique object id.

virtual Bool_t HandleTimer (TTimer *timer)
Execute action in response of a timer timing out.

Bool_t HasInconsistentHash () const
Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e.

virtual void Info (const char *method, const char *msgfmt,...) const
Issue info message.

virtual Bool_t InheritsFrom (const char *classname) const
Returns kTRUE if object inherits from class "classname".

virtual Bool_t InheritsFrom (const TClass *cl) const
Returns kTRUE if object inherits from TClass cl.

virtual void Inspect () const
Dump contents of this object in a graphics canvas.

void InvertBit (UInt_t f)

Bool_t IsDestructed () const
IsDestructed.

virtual Bool_t IsEqual (const TObject *obj) const
Default equal comparison (objects are equal if they have the same address in memory).

virtual Bool_t IsFolder () const
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects).

R__ALWAYS_INLINE Bool_t IsOnHeap () const

R__ALWAYS_INLINE Bool_t IsZombie () const

void MayNotUse (const char *method) const
Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary).

virtual Bool_t Notify ()
This method must be overridden to handle object notification (the base implementation is no-op).

void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
Use this method to declare a method obsolete.

void operator delete (void *ptr)
Operator delete.

void operator delete[] (void *ptr)
Operator delete [].

void * operator new (size_t sz)

void * operator new (size_t sz, void *vp)

void * operator new[] (size_t sz)

void * operator new[] (size_t sz, void *vp)

TObjectoperator= (const TObject &rhs)
TObject assignment operator.

virtual void Pop ()
Pop on object drawn in a pad to the top of the display list.

virtual Int_t Read (const char *name)
Read contents of object with specified name from the current directory.

virtual void RecursiveRemove (TObject *obj)
Recursively remove this object from a list.

void ResetBit (UInt_t f)

virtual void SaveAs (const char *filename="", Option_t *option="") const
Save this object in the file specified by filename.

void SetBit (UInt_t f)

void SetBit (UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.

virtual void SetDrawOption (Option_t *option="")
Set drawing option for object.

virtual void SetUniqueID (UInt_t uid)
Set the unique object id.

void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)

virtual void SysError (const char *method, const char *msgfmt,...) const
Issue system error message.

R__ALWAYS_INLINE Bool_t TestBit (UInt_t f) const

Int_t TestBits (UInt_t f) const

virtual void UseCurrentStyle ()
Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked.

virtual void Warning (const char *method, const char *msgfmt,...) const
Issue warning message.

virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0)
Write this object to the current directory.

virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const
Write this object to the current directory.

## Static Public Member Functions

static TClassClass ()

static const char * Class_Name ()

static constexpr Version_t Class_Version ()

static const char * DeclFileName () Static Public Member Functions inherited from TGeoBBox
static Bool_t AreOverlapping (const TGeoBBox *box1, const TGeoMatrix *mat1, const TGeoBBox *box2, const TGeoMatrix *mat2)
Check if 2 positioned boxes overlap.

static TClassClass ()

static const char * Class_Name ()

static constexpr Version_t Class_Version ()

static Bool_t Contains (const Double_t *point, Double_t dx, Double_t dy, Double_t dz, const Double_t *origin)
Static method to check if point is located inside a box of having dx, dy, dz as half-lengths.

static const char * DeclFileName ()

static Double_t DistFromInside (const Double_t *point, const Double_t *dir, Double_t dx, Double_t dy, Double_t dz, const Double_t *origin, Double_t stepmax=TGeoShape::Big())
Compute distance from inside point to surface of the box.

static Double_t DistFromOutside (const Double_t *point, const Double_t *dir, Double_t dx, Double_t dy, Double_t dz, const Double_t *origin, Double_t stepmax=TGeoShape::Big())
Compute distance from outside point to surface of the box. Static Public Member Functions inherited from TGeoShape
static Double_t Big ()

static TClassClass ()

static const char * Class_Name ()

static constexpr Version_t Class_Version ()

static Double_t ComputeEpsMch ()
Compute machine round-off double precision error as the smallest number that if added to 1.0 is different than 1.0.

static const char * DeclFileName ()

static Double_t DistToPhiMin (const Double_t *point, const 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)
compute distance from point (inside phi) to both phi planes. Return minimum.

static Double_t EpsMch ()
static function returning the machine round-off error

static TGeoMatrixGetTransform ()
Returns current transformation matrix that applies to shape.

static Bool_t IsCloseToPhi (Double_t epsil, const Double_t *point, Double_t c1, Double_t s1, Double_t c2, Double_t s2)
True if point is closer than epsil to one of the phi planes defined by c1,s1 or c2,s2.

static Bool_t IsCrossingSemiplane (const Double_t *point, const Double_t *dir, Double_t cphi, Double_t sphi, Double_t &snext, Double_t &rxy)
Compute distance from POINT to semiplane defined by PHI angle along DIR.

static Bool_t IsInPhiRange (const Double_t *point, Double_t phi1, Double_t phi2)
Static method to check if a point is in the phi range (phi1, phi2) [degrees].

static Bool_t IsSameWithinTolerance (Double_t a, Double_t b)
Check if two numbers differ with less than a tolerance.

static Bool_t IsSegCrossing (Double_t x1, Double_t y1, Double_t x2, Double_t y2, Double_t x3, Double_t y3, Double_t x4, Double_t y4)
Check if segments (A,B) and (C,D) are crossing, where: A(x1,y1), B(x2,y2), C(x3,y3), D(x4,y4)

static void NormalPhi (const Double_t *point, const Double_t *dir, Double_t *norm, Double_t c1, Double_t s1, Double_t c2, Double_t s2)
Static method to compute normal to phi planes.

static Double_t SafetyPhi (const Double_t *point, Bool_t in, Double_t phi1, Double_t phi2)
Static method to compute safety w.r.t a phi corner defined by cosines/sines of the angles phi1, phi2.

static Double_t SafetySeg (Double_t r, Double_t z, Double_t r1, Double_t z1, Double_t r2, Double_t z2, Bool_t outer)
Compute distance from point of coordinates (r,z) to segment (r1,z1):(r2,z2)

static void SetTransform (TGeoMatrix *matrix)
Set current transformation matrix that applies to shape.

static Double_t Tolerance () Static Public Member Functions inherited from TNamed
static TClassClass ()

static const char * Class_Name ()

static constexpr Version_t Class_Version ()

static const char * DeclFileName () Static Public Member Functions inherited from TObject
static TClassClass ()

static const char * Class_Name ()

static constexpr Version_t Class_Version ()

static const char * DeclFileName ()

static Longptr_t GetDtorOnly ()
Return destructor only flag.

static Bool_t GetObjectStat ()
Get status of object stat flag.

static void SetDtorOnly (void *obj)
Set destructor only flag.

static void SetObjectStat (Bool_t stat)
Turn on/off tracking of objects in the TObjectTable.

## Private Member Functions

TGeoParaboloid (const TGeoParaboloid &)=delete

TGeoParaboloidoperator= (const TGeoParaboloid &)=delete

## Private Attributes

Double_t fA

Double_t fB

Double_t fDz

Double_t fRhi

Double_t fRlo Public Types inherited from TGeoShape
enum  EShapeType {
kBitMask32 = 0xffffffff , kGeoNoShape = 0 , kGeoBad = (1ULL << ( 0 )) , kGeoRSeg = (1ULL << ( 1 )) ,
kGeoPhiSeg = (1ULL << ( 2 )) , kGeoThetaSeg = (1ULL << ( 3 )) , kGeoVisX = (1ULL << ( 4 )) , kGeoVisY = (1ULL << ( 5 )) ,
kGeoVisZ = (1ULL << ( 6 )) , kGeoRunTimeShape = (1ULL << ( 7 )) , kGeoInvalidShape = (1ULL << ( 8 )) , kGeoTorus = (1ULL << ( 9 )) ,
kGeoBox = (1ULL << ( 10 )) , kGeoPara = (1ULL << ( 11 )) , kGeoSph = (1ULL << ( 12 )) , kGeoTube = (1ULL << ( 13 )) ,
kGeoTubeSeg = (1ULL << ( 14 )) , kGeoCone = (1ULL << ( 15 )) , kGeoConeSeg = (1ULL << ( 16 )) , kGeoPcon = (1ULL << ( 17 )) ,
kGeoPgon = (1ULL << ( 18 )) , kGeoArb8 = (1ULL << ( 19 )) , kGeoEltu = (1ULL << ( 20 )) , kGeoTrap = (1ULL << ( 21 )) ,
kGeoCtub = (1ULL << ( 22 )) , kGeoTrd1 = (1ULL << ( 23 )) , kGeoTrd2 = (1ULL << ( 24 )) , kGeoComb = (1ULL << ( 25 )) ,
kGeoClosedShape = (1ULL << ( 26 )) , kGeoXtru = (1ULL << ( 27 )) , kGeoParaboloid = (1ULL << ( 28 )) , kGeoHalfSpace = (1ULL << ( 29 )) ,
kGeoHype = (1ULL << ( 30 )) , kGeoSavePrimitive = (1ULL << ( 20 ))
} Public Types inherited from TObject
enum  {
kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 ,
}

enum  { kSingleKey = (1ULL << ( 0 )) , kOverwrite = (1ULL << ( 1 )) , kWriteDelete = (1ULL << ( 2 )) }

enum  EDeprecatedStatusBits { kObjInCanvas = (1ULL << ( 3 )) }

enum  EStatusBits {
kCanDelete = (1ULL << ( 0 )) , kMustCleanup = (1ULL << ( 3 )) , kIsReferenced = (1ULL << ( 4 )) , kHasUUID = (1ULL << ( 5 )) ,
kCannotPick = (1ULL << ( 6 )) , kNoContextMenu = (1ULL << ( 8 )) , kInvalidObject = (1ULL << ( 13 ))
} Protected Types inherited from TObject
enum  { kOnlyPrepStep = (1ULL << ( 3 )) } Protected Member Functions inherited from TGeoBBox
TGeoBBox (const TGeoBBox &)=delete

void FillBuffer3D (TBuffer3D &buffer, Int_t reqSections, Bool_t localFrame) const override
Fills the supplied buffer, with sections in desired frame See TBuffer3D.h for explanation of sections, frame etc.

TGeoBBoxoperator= (const TGeoBBox &)=delete Protected Member Functions inherited from TGeoShape
Int_t GetBasicColor () const
Get the basic color (0-7).

void SetOnBoundary (Bool_t)

void TransformPoints (Double_t *points, UInt_t NbPoints) const
Tranform a set of points (LocalToMaster) Protected Member Functions inherited from TObject
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
Interface to ErrorHandler (protected).

void MakeZombie () Protected Attributes inherited from TGeoBBox
Double_t fDX

Double_t fDY

Double_t fDZ

Double_t fOrigin Protected Attributes inherited from TGeoShape
UInt_t fShapeBits

Int_t fShapeId Protected Attributes inherited from TNamed
TString fName

TString fTitle

#include <TGeoParaboloid.h>

Inheritance diagram for TGeoParaboloid:
[legend]

## ◆ TGeoParaboloid() [1/5]

 TGeoParaboloid::TGeoParaboloid ( const TGeoParaboloid & )
privatedelete

## ◆ TGeoParaboloid() [2/5]

 TGeoParaboloid::TGeoParaboloid ( )

Dummy constructor.

Definition at line 64 of file TGeoParaboloid.cxx.

## ◆ TGeoParaboloid() [3/5]

 TGeoParaboloid::TGeoParaboloid ( Double_t rlo, Double_t rhi, Double_t dz )

Default constructor specifying X and Y semiaxis length.

Definition at line 77 of file TGeoParaboloid.cxx.

## ◆ TGeoParaboloid() [4/5]

 TGeoParaboloid::TGeoParaboloid ( const char * name, Double_t rlo, Double_t rhi, Double_t dz )

Default constructor specifying X and Y semiaxis length.

Definition at line 92 of file TGeoParaboloid.cxx.

## ◆ TGeoParaboloid() [5/5]

 TGeoParaboloid::TGeoParaboloid ( Double_t * param )

Default constructor specifying minimum and maximum radius.

• param = rlo
• param = rhi
• param = dz

Definition at line 110 of file TGeoParaboloid.cxx.

## ◆ ~TGeoParaboloid()

 TGeoParaboloid::~TGeoParaboloid ( )
override

destructor

Definition at line 120 of file TGeoParaboloid.cxx.

## ◆ Capacity()

 Double_t TGeoParaboloid::Capacity ( ) const
overridevirtual

Computes capacity of the shape in [length^3].

Reimplemented from TGeoBBox.

Definition at line 125 of file TGeoParaboloid.cxx.

## ◆ Class()

 static TClass * TGeoParaboloid::Class ( )
static
Returns
TClass describing this class

## ◆ Class_Name()

 static const char * TGeoParaboloid::Class_Name ( )
static
Returns
Name of this class

## ◆ Class_Version()

 static constexpr Version_t TGeoParaboloid::Class_Version ( )
inlinestaticconstexpr
Returns
Version of this class

Definition at line 78 of file TGeoParaboloid.h.

## ◆ ComputeBBox()

 void TGeoParaboloid::ComputeBBox ( )
overridevirtual

compute bounding box of the tube

Reimplemented from TGeoBBox.

Definition at line 134 of file TGeoParaboloid.cxx.

## ◆ ComputeNormal()

 void TGeoParaboloid::ComputeNormal ( const Double_t * point, const Double_t * dir, Double_t * norm )
overridevirtual

Compute normal to closest surface from POINT.

Reimplemented from TGeoBBox.

Definition at line 144 of file TGeoParaboloid.cxx.

## ◆ ComputeNormal_v()

 void TGeoParaboloid::ComputeNormal_v ( const Double_t * points, const Double_t * dirs, Double_t * norms, Int_t vecsize )
overridevirtual

Compute the normal for an array o points so that norm.dot.dir is positive Input: Arrays of point coordinates and directions + vector size Output: Array of normal directions.

Reimplemented from TGeoBBox.

Definition at line 718 of file TGeoParaboloid.cxx.

## ◆ Contains()

 Bool_t TGeoParaboloid::Contains ( const Double_t * point ) const
overridevirtual

test if point is inside the elliptical tube

Reimplemented from TGeoBBox.

Definition at line 177 of file TGeoParaboloid.cxx.

## ◆ Contains_v()

 void TGeoParaboloid::Contains_v ( const Double_t * points, Bool_t * inside, Int_t vecsize ) const
overridevirtual

Check the inside status for each of the points in the array.

Input: Array of point coordinates + vector size Output: Array of Booleans for the inside of each point

Reimplemented from TGeoBBox.

Definition at line 707 of file TGeoParaboloid.cxx.

## ◆ DeclFileName()

 static const char * TGeoParaboloid::DeclFileName ( )
inlinestatic
Returns
Name of the file containing the class declaration

Definition at line 78 of file TGeoParaboloid.h.

## ◆ DistancetoPrimitive()

 Int_t TGeoParaboloid::DistancetoPrimitive ( Int_t px, Int_t py )
overridevirtual

compute closest distance from point px,py to each vertex

Reimplemented from TGeoBBox.

Definition at line 193 of file TGeoParaboloid.cxx.

## ◆ DistFromInside()

 Double_t TGeoParaboloid::DistFromInside ( const Double_t * point, const Double_t * dir, Int_t iact = 1, Double_t step = TGeoShape::Big(), Double_t * safe = nullptr ) const
overridevirtual

compute distance from inside point to surface of the paraboloid

Reimplemented from TGeoBBox.

Definition at line 250 of file TGeoParaboloid.cxx.

## ◆ DistFromInside_v()

 void TGeoParaboloid::DistFromInside_v ( const Double_t * points, const Double_t * dirs, Double_t * dists, Int_t vecsize, Double_t * step ) const
overridevirtual

Compute distance from array of input points having directions specified by dirs. Store output in dists.

Reimplemented from TGeoBBox.

Definition at line 727 of file TGeoParaboloid.cxx.

## ◆ DistFromOutside()

 Double_t TGeoParaboloid::DistFromOutside ( const Double_t * point, const Double_t * dir, Int_t iact = 1, Double_t step = TGeoShape::Big(), Double_t * safe = nullptr ) const
overridevirtual

compute distance from outside point to surface of the paraboloid and safe distance

Reimplemented from TGeoBBox.

Definition at line 275 of file TGeoParaboloid.cxx.

## ◆ DistFromOutside_v()

 void TGeoParaboloid::DistFromOutside_v ( const Double_t * points, const Double_t * dirs, Double_t * dists, Int_t vecsize, Double_t * step ) const
overridevirtual

Compute distance from array of input points having directions specified by dirs. Store output in dists.

Reimplemented from TGeoBBox.

Definition at line 737 of file TGeoParaboloid.cxx.

## ◆ DistToParaboloid()

 Double_t TGeoParaboloid::DistToParaboloid ( const Double_t * point, const Double_t * dir, Bool_t in ) const

Compute distance from a point to the parabola given by: z = a*rsq + b; rsq = x*x+y*y

Definition at line 204 of file TGeoParaboloid.cxx.

## ◆ Divide()

 TGeoVolume * TGeoParaboloid::Divide ( TGeoVolume * voldiv, const char * divname, Int_t iaxis, Int_t ndiv, Double_t start, Double_t step )
overridevirtual

Divide the paraboloid along one axis.

Reimplemented from TGeoBBox.

Definition at line 318 of file TGeoParaboloid.cxx.

## ◆ GetBoundingCylinder()

 void TGeoParaboloid::GetBoundingCylinder ( Double_t * param ) const
overridevirtual

Fill vector param with the bounding cylinder parameters.

The order is the following : Rmin, Rmax, Phi1, Phi2

Reimplemented from TGeoBBox.

Definition at line 329 of file TGeoParaboloid.cxx.

## ◆ GetBuffer3D()

 const TBuffer3D & TGeoParaboloid::GetBuffer3D ( Int_t reqSections, Bool_t localFrame ) const
overridevirtual

Fills a static 3D buffer and returns a reference.

Reimplemented from TGeoBBox.

Definition at line 676 of file TGeoParaboloid.cxx.

## ◆ GetDz()

 Double_t TGeoParaboloid::GetDz ( ) const
inline

Definition at line 58 of file TGeoParaboloid.h.

## ◆ GetMakeRuntimeShape()

 TGeoShape * TGeoParaboloid::GetMakeRuntimeShape ( TGeoShape * mother, TGeoMatrix * mat ) const
overridevirtual

in case shape has some negative parameters, these has to be computed in order to fit the mother

Reimplemented from TGeoBBox.

Definition at line 342 of file TGeoParaboloid.cxx.

## ◆ GetMeshNumbers()

 void TGeoParaboloid::GetMeshNumbers ( Int_t & nvert, Int_t & nsegs, Int_t & npols ) const
overridevirtual

Returns numbers of vertices, segments and polygons composing the shape mesh.

Reimplemented from TGeoBBox.

Definition at line 588 of file TGeoParaboloid.cxx.

## ◆ GetNmeshVertices()

 Int_t TGeoParaboloid::GetNmeshVertices ( ) const
overridevirtual

Returns number of vertices on the paraboloid mesh.

Reimplemented from TGeoBBox.

Definition at line 599 of file TGeoParaboloid.cxx.

## ◆ GetPointsOnSegments()

 Bool_t TGeoParaboloid::GetPointsOnSegments ( Int_t npoints, Double_t * array ) const
inlineoverridevirtual

Fills array with n random points located on the line segments of the shape mesh.

The output array must be provided with a length of minimum 3*npoints. Returns true if operation is implemented.

Reimplemented from TGeoBBox.

Definition at line 64 of file TGeoParaboloid.h.

## ◆ GetRhi()

 Double_t TGeoParaboloid::GetRhi ( ) const
inline

Definition at line 57 of file TGeoParaboloid.h.

## ◆ GetRlo()

 Double_t TGeoParaboloid::GetRlo ( ) const
inline

Definition at line 56 of file TGeoParaboloid.h.

## ◆ InspectShape()

 void TGeoParaboloid::InspectShape ( ) const
overridevirtual

print shape parameters

Reimplemented from TGeoBBox.

Definition at line 350 of file TGeoParaboloid.cxx.

## ◆ IsA()

 TClass * TGeoParaboloid::IsA ( ) const
inlineoverridevirtual
Returns
TClass describing current object

Reimplemented from TGeoBBox.

Definition at line 78 of file TGeoParaboloid.h.

## ◆ IsCylType()

 Bool_t TGeoParaboloid::IsCylType ( ) const
inlineoverridevirtual

Reimplemented from TGeoBBox.

Definition at line 66 of file TGeoParaboloid.h.

## ◆ MakeBuffer3D()

 TBuffer3D * TGeoParaboloid::MakeBuffer3D ( ) const
overridevirtual

Creates a TBuffer3D describing this shape.

Coordinates are in local reference frame.

Reimplemented from TGeoBBox.

Definition at line 364 of file TGeoParaboloid.cxx.

## ◆ operator=()

 TGeoParaboloid & TGeoParaboloid::operator= ( const TGeoParaboloid & )
privatedelete

## ◆ Safety()

 Double_t TGeoParaboloid::Safety ( const Double_t * point, Bool_t in = kTRUE ) const
overridevirtual

Computes the closest distance from given point to this shape.

Reimplemented from TGeoBBox.

Definition at line 459 of file TGeoParaboloid.cxx.

## ◆ Safety_v()

 void TGeoParaboloid::Safety_v ( const Double_t * points, const Bool_t * inside, Double_t * safe, Int_t vecsize ) const
overridevirtual

Compute safe distance from each of the points in the input array.

Input: Array of point coordinates, array of statuses for these points, size of the arrays Output: Safety values

Reimplemented from TGeoBBox.

Definition at line 749 of file TGeoParaboloid.cxx.

## ◆ SavePrimitive()

 void TGeoParaboloid::SavePrimitive ( std::ostream & out, Option_t * option = "" )
overridevirtual

Save a primitive as a C++ statement(s) on output stream "out".

Reimplemented from TGeoBBox.

Definition at line 608 of file TGeoParaboloid.cxx.

## ◆ SetDimensions()

 void TGeoParaboloid::SetDimensions ( Double_t * param )
overridevirtual

Set paraboloid dimensions starting from an array.

Reimplemented from TGeoBBox.

Definition at line 512 of file TGeoParaboloid.cxx.

## ◆ SetParaboloidDimensions()

 void TGeoParaboloid::SetParaboloidDimensions ( Double_t rlo, Double_t rhi, Double_t dz )

Set paraboloid dimensions.

Definition at line 494 of file TGeoParaboloid.cxx.

## ◆ SetPoints() [1/2]

 void TGeoParaboloid::SetPoints ( Double_t * points ) const
overridevirtual

Create paraboloid mesh points.

Npoints = n*(n+1) + 2
ifirst = 0
ipoint(i,j) = 1+i*n+j; i=[0,n] j=[0,n-1]
ilast = 1+n*(n+1)
Nsegments = n*(2*n+3)
lower: (0, j+1); j=[0,n-1]
circle(i): (n*i+1+j, n*i+1+(j+1)%n); i=[0,n] j=[0,n-1]
generator(i): (n*i+1+j, n*(i+1)+1+j); i,j=[0,n-1]
upper: (n*n+1+j, (n+1)*n+1) j=[0,n-1]
Npolygons = n*(n+2)
lower: (n+j, (j+1)%n, j) j=[0,n-1]
lateral(i): ((2*i+1)*n+j, 2*(i+1)*n+j, (2*i+3)*n+j, 2*(i+1)*n+(j+1)%n)
i,j = [0,n-1]
upper: ((2n+1)*n+j, 2*n*(n+1)+(j+1)%n, 2*n*(n+1)+j) j=[0,n-1]
const Int_t n
Definition legend1.C:16

Reimplemented from TGeoBBox.

Definition at line 539 of file TGeoParaboloid.cxx.

## ◆ SetPoints() [2/2]

 void TGeoParaboloid::SetPoints ( Float_t * points ) const
overridevirtual

Create paraboloid mesh points.

Reimplemented from TGeoBBox.

Definition at line 624 of file TGeoParaboloid.cxx.

## ◆ SetSegsAndPols()

 void TGeoParaboloid::SetSegsAndPols ( TBuffer3D & buff ) const
overridevirtual

Fill TBuffer3D structure for segments and polygons.

Reimplemented from TGeoBBox.

Definition at line 385 of file TGeoParaboloid.cxx.

## ◆ Sizeof3D()

 void TGeoParaboloid::Sizeof3D ( ) const
overridevirtual

Reimplemented from TGeoBBox.

Definition at line 671 of file TGeoParaboloid.cxx.

## ◆ Streamer()

 void TGeoParaboloid::Streamer ( TBuffer & R__b )
overridevirtual

Stream an object of class TObject.

Reimplemented from TGeoBBox.

## ◆ StreamerNVirtual()

 void TGeoParaboloid::StreamerNVirtual ( TBuffer & ClassDef_StreamerNVirtual_b )
inline

Definition at line 78 of file TGeoParaboloid.h.

## ◆ fA

 Double_t TGeoParaboloid::fA
private

Definition at line 22 of file TGeoParaboloid.h.

## ◆ fB

 Double_t TGeoParaboloid::fB
private

Definition at line 23 of file TGeoParaboloid.h.

## ◆ fDz

 Double_t TGeoParaboloid::fDz
private

Definition at line 21 of file TGeoParaboloid.h.

## ◆ fRhi

 Double_t TGeoParaboloid::fRhi
private

Definition at line 20 of file TGeoParaboloid.h.

## ◆ fRlo

 Double_t TGeoParaboloid::fRlo
private

Definition at line 19 of file TGeoParaboloid.h.

Libraries for TGeoParaboloid: [legend]

The documentation for this class was generated from the following files: