Logo ROOT   6.16/01
Reference Guide
List of all members | Public Member Functions | Private Attributes | List of all members
TGeoParaboloid Class Reference

Paraboloid class.

A paraboloid is the solid bounded by the following surfaces:

The parameters a and b are automatically computed from:

Definition at line 17 of file TGeoParaboloid.h.

Public Member Functions

 TGeoParaboloid ()
 Dummy constructor. More...
 
 TGeoParaboloid (const char *name, Double_t rlo, Double_t rhi, Double_t dz)
 Default constructor specifying X and Y semiaxis length. More...
 
 TGeoParaboloid (Double_t *params)
 Default constructor specifying minimum and maximum radius. More...
 
 TGeoParaboloid (Double_t rlo, Double_t rhi, Double_t dz)
 Default constructor specifying X and Y semiaxis length. More...
 
virtual ~TGeoParaboloid ()
 destructor More...
 
virtual Double_t Capacity () const
 Computes capacity of the shape in [length^3]. More...
 
virtual void ComputeBBox ()
 compute bounding box of the tube More...
 
virtual void ComputeNormal (const Double_t *point, const Double_t *dir, Double_t *norm)
 Compute normal to closest surface from POINT. More...
 
virtual void ComputeNormal_v (const Double_t *points, const Double_t *dirs, Double_t *norms, Int_t vecsize)
 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. More...
 
virtual Bool_t Contains (const Double_t *point) const
 test if point is inside the elliptical tube More...
 
virtual void Contains_v (const Double_t *points, Bool_t *inside, Int_t vecsize) const
 Check the inside status for each of the points in the array. More...
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 compute closest distance from point px,py to each vertex More...
 
virtual Double_t DistFromInside (const Double_t *point, const 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 paraboloid More...
 
virtual void DistFromInside_v (const Double_t *points, const Double_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const
 Compute distance from array of input points having directions specified by dirs. Store output in dists. More...
 
virtual Double_t DistFromOutside (const Double_t *point, const Double_t *dir, Int_t iact=1, Double_t step=TGeoShape::Big(), Double_t *safe=0) const
 compute distance from outside point to surface of the paraboloid and safe distance More...
 
virtual void DistFromOutside_v (const Double_t *points, const Double_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const
 Compute distance from array of input points having directions specified by dirs. Store output in dists. More...
 
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 More...
 
virtual TGeoVolumeDivide (TGeoVolume *voldiv, const char *divname, Int_t iaxis, Int_t ndiv, Double_t start, Double_t step)
 Divide the paraboloid along one axis. More...
 
virtual void GetBoundingCylinder (Double_t *param) const
 Fill vector param[4] with the bounding cylinder parameters. More...
 
virtual const TBuffer3DGetBuffer3D (Int_t reqSections, Bool_t localFrame) const
 Fills a static 3D buffer and returns a reference. More...
 
Double_t GetDz () const
 
virtual TGeoShapeGetMakeRuntimeShape (TGeoShape *mother, TGeoMatrix *mat) const
 in case shape has some negative parameters, these has to be computed in order to fit the mother More...
 
virtual void GetMeshNumbers (Int_t &nvert, Int_t &nsegs, Int_t &npols) const
 Returns numbers of vertices, segments and polygons composing the shape mesh. More...
 
virtual Int_t GetNmeshVertices () const
 Returns number of vertices on the paraboloid mesh. More...
 
virtual Bool_t GetPointsOnSegments (Int_t, Double_t *) const
 Fills array with n random points located on the line segments of the shape mesh. More...
 
Double_t GetRhi () const
 
Double_t GetRlo () const
 
virtual void InspectShape () const
 print shape parameters More...
 
virtual Bool_t IsCylType () const
 
virtual TBuffer3DMakeBuffer3D () const
 Creates a TBuffer3D describing this shape. More...
 
virtual Double_t Safety (const Double_t *point, Bool_t in=kTRUE) const
 Computes the closest distance from given point to this shape. More...
 
virtual void Safety_v (const Double_t *points, const Bool_t *inside, Double_t *safe, Int_t vecsize) const
 Compute safe distance from each of the points in the input array. More...
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 Save a primitive as a C++ statement(s) on output stream "out". More...
 
virtual void SetDimensions (Double_t *param)
 Set paraboloid dimensions starting from an array. More...
 
void SetParaboloidDimensions (Double_t rlo, Double_t rhi, Double_t dz)
 Set paraboloid dimensions. More...
 
virtual void SetPoints (Double_t *points) const
 Create paraboloid mesh points. More...
 
virtual void SetPoints (Float_t *points) const
 Create paraboloid mesh points. More...
 
virtual void SetSegsAndPols (TBuffer3D &buff) const
 Fill TBuffer3D structure for segments and polygons. More...
 
virtual void Sizeof3D () const
 
- Public Member Functions inherited from TGeoBBox
 TGeoBBox ()
 Default constructor. More...
 
 TGeoBBox (const char *name, Double_t dx, Double_t dy, Double_t dz, Double_t *origin=0)
 Constructor with shape name. More...
 
 TGeoBBox (Double_t *param)
 Constructor based on the array of parameters. More...
 
 TGeoBBox (Double_t dx, Double_t dy, Double_t dz, Double_t *origin=0)
 Constructor where half-lengths are provided. More...
 
virtual ~TGeoBBox ()
 Destructor. More...
 
virtual Double_t Capacity () const
 Computes capacity of the shape in [length^3]. More...
 
virtual void ComputeBBox ()
 Compute bounding box - nothing to do in this case. More...
 
virtual void ComputeNormal (const Double_t *point, const Double_t *dir, Double_t *norm)
 Computes normal to closest surface from POINT. More...
 
virtual void ComputeNormal_v (const Double_t *points, const Double_t *dirs, Double_t *norms, Int_t vecsize)
 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. More...
 
virtual Bool_t Contains (const Double_t *point) const
 Test if point is inside this shape. More...
 
virtual void Contains_v (const Double_t *points, Bool_t *inside, Int_t vecsize) const
 Check the inside status for each of the points in the array. More...
 
virtual Bool_t CouldBeCrossed (const Double_t *point, const Double_t *dir) const
 Decides fast if the bounding box could be crossed by a vector. More...
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 Compute closest distance from point px,py to each corner. More...
 
virtual Double_t DistFromInside (const Double_t *point, const 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 box. More...
 
virtual void DistFromInside_v (const Double_t *points, const Double_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const
 Compute distance from array of input points having directions specified by dirs. Store output in dists. More...
 
virtual Double_t DistFromOutside (const Double_t *point, const Double_t *dir, Int_t iact=1, Double_t step=TGeoShape::Big(), Double_t *safe=0) const
 Compute distance from outside point to surface of the box. More...
 
virtual void DistFromOutside_v (const Double_t *points, const Double_t *dirs, Double_t *dists, Int_t vecsize, Double_t *step) const
 Compute distance from array of input points having directions specified by dirs. Store output in dists. More...
 
virtual TGeoVolumeDivide (TGeoVolume *voldiv, const char *divname, Int_t iaxis, Int_t ndiv, Double_t start, Double_t step)
 Divide this box shape belonging to volume "voldiv" into ndiv equal volumes called divname, from start position with the given step. More...
 
virtual const char * GetAxisName (Int_t iaxis) const
 Returns name of axis IAXIS. More...
 
virtual Double_t GetAxisRange (Int_t iaxis, Double_t &xlo, Double_t &xhi) const
 Get range of shape for a given axis. More...
 
virtual void GetBoundingCylinder (Double_t *param) const
 Fill vector param[4] with the bounding cylinder parameters. More...
 
virtual const TBuffer3DGetBuffer3D (Int_t reqSections, Bool_t localFrame) const
 Fills a static 3D buffer and returns a reference. More...
 
virtual Int_t GetByteCount () const
 
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. More...
 
virtual Int_t GetFittingBox (const TGeoBBox *parambox, TGeoMatrix *mat, Double_t &dx, Double_t &dy, Double_t &dz) const
 Fills real parameters of a positioned box inside this one. Returns 0 if successful. More...
 
virtual TGeoShapeGetMakeRuntimeShape (TGeoShape *mother, TGeoMatrix *mat) const
 In case shape has some negative parameters, these has to be computed in order to fit the mother. More...
 
virtual void GetMeshNumbers (Int_t &nvert, Int_t &nsegs, Int_t &npols) const
 Returns numbers of vertices, segments and polygons composing the shape mesh. More...
 
virtual Int_t GetNmeshVertices () const
 
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. More...
 
virtual Bool_t GetPointsOnSegments (Int_t npoints, Double_t *array) const
 Fills array with n random points located on the line segments of the shape mesh. More...
 
virtual void InspectShape () const
 Prints shape parameters. More...
 
virtual Bool_t IsCylType () const
 
virtual Bool_t IsNullBox () const
 
virtual Bool_t IsValidBox () const
 
virtual TBuffer3DMakeBuffer3D () const
 Creates a TBuffer3D describing this shape. More...
 
virtual Double_t Safety (const Double_t *point, Bool_t in=kTRUE) const
 Computes the closest distance from given point to this shape. More...
 
virtual void Safety_v (const Double_t *points, const Bool_t *inside, Double_t *safe, Int_t vecsize) const
 Compute safe distance from each of the points in the input array. More...
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 Save a primitive as a C++ statement(s) on output stream "out". More...
 
void SetBoxDimensions (Double_t dx, Double_t dy, Double_t dz, Double_t *origin=0)
 Set parameters of the box. More...
 
void SetBoxPoints (Double_t *points) const
 Fill box vertices to an array. More...
 
virtual void SetDimensions (Double_t *param)
 Set dimensions based on the array of parameters param[0] - half-length in x param[1] - half-length in y param[2] - half-length in z. More...
 
virtual void SetPoints (Double_t *points) const
 Fill box points. More...
 
virtual void SetPoints (Float_t *points) const
 Fill box points. More...
 
virtual void SetSegsAndPols (TBuffer3D &buffer) const
 Fills TBuffer3D structure for segments and polygons. More...
 
virtual void Sizeof3D () const
 
- Public Member Functions inherited from TGeoShape
 TGeoShape ()
 Default constructor. More...
 
 TGeoShape (const char *name)
 Default constructor. More...
 
virtual ~TGeoShape ()
 Destructor. More...
 
virtual void AfterStreamer ()
 
virtual Double_t Capacity () const =0
 
void CheckShape (Int_t testNo, Int_t nsamples=10000, Option_t *option="")
 Test for shape navigation methods. More...
 
virtual void ClearThreadData () const
 
virtual void ComputeBBox ()=0
 
virtual void ComputeNormal (const Double_t *point, const Double_t *dir, Double_t *norm)=0
 
virtual void ComputeNormal_v (const Double_t *, const Double_t *, Double_t *, Int_t)
 
virtual Bool_t Contains (const Double_t *point) const =0
 
virtual void Contains_v (const Double_t *, Bool_t *, Int_t) const
 
virtual Bool_t CouldBeCrossed (const Double_t *point, const Double_t *dir) const =0
 
virtual void CreateThreadData (Int_t)
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)=0
 Computes distance from point (px,py) to the object. More...
 
virtual Double_t DistFromInside (const Double_t *point, const Double_t *dir, Int_t iact=1, Double_t step=TGeoShape::Big(), Double_t *safe=0) const =0
 
virtual void DistFromInside_v (const Double_t *, const Double_t *, Double_t *, Int_t, Double_t *) const
 
virtual Double_t DistFromOutside (const Double_t *point, const Double_t *dir, Int_t iact=1, Double_t step=TGeoShape::Big(), Double_t *safe=0) const =0
 
virtual void DistFromOutside_v (const Double_t *, const Double_t *, Double_t *, Int_t, Double_t *) const
 
virtual TGeoVolumeDivide (TGeoVolume *voldiv, const char *divname, Int_t iaxis, Int_t ndiv, Double_t start, Double_t step)=0
 
virtual void Draw (Option_t *option="")
 Draw this shape. More...
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 Execute mouse actions on this shape. More...
 
virtual const char * GetAxisName (Int_t iaxis) const =0
 
virtual Double_t GetAxisRange (Int_t iaxis, Double_t &xlo, Double_t &xhi) const =0
 
virtual void GetBoundingCylinder (Double_t *param) const =0
 
virtual const TBuffer3DGetBuffer3D (Int_t reqSections, Bool_t localFrame) const
 Stub implementation to avoid forcing implementation at this stage. More...
 
virtual Int_t GetByteCount () const =0
 
virtual Int_t GetFittingBox (const TGeoBBox *parambox, TGeoMatrix *mat, Double_t &dx, Double_t &dy, Double_t &dz) const =0
 
Int_t GetId () const
 
virtual TGeoShapeGetMakeRuntimeShape (TGeoShape *mother, TGeoMatrix *mat) const =0
 
virtual void GetMeshNumbers (Int_t &, Int_t &, Int_t &) const
 
virtual const char * GetName () const
 Get the shape name. More...
 
virtual Int_t GetNmeshVertices () const
 
const char * GetPointerName () const
 Provide a pointer name containing uid. More...
 
virtual Bool_t GetPointsOnSegments (Int_t npoints, Double_t *array) const =0
 
virtual void InspectShape () const =0
 
void InvertShapeBit (UInt_t f)
 
virtual Bool_t IsAssembly () const
 
virtual Bool_t IsComposite () const
 
virtual Bool_t IsCylType () const =0
 
virtual Bool_t IsReflected () const
 
Bool_t IsRunTimeShape () const
 
Bool_t IsValid () const
 
virtual Bool_t IsValidBox () const =0
 
virtual Bool_t IsVecGeom () const
 
virtual TBuffer3DMakeBuffer3D () const
 
virtual void Paint (Option_t *option="")
 Paint this shape. More...
 
void ResetShapeBit (UInt_t f)
 
virtual Double_t Safety (const Double_t *point, Bool_t in=kTRUE) const =0
 
virtual void Safety_v (const Double_t *, const Bool_t *, Double_t *, Int_t) const
 
virtual void SetDimensions (Double_t *param)=0
 
void SetId (Int_t id)
 
virtual void SetPoints (Double_t *points) const =0
 
virtual void SetPoints (Float_t *points) const =0
 
void SetRuntime (Bool_t flag=kTRUE)
 
virtual void SetSegsAndPols (TBuffer3D &buff) const =0
 
void SetShapeBit (UInt_t f)
 
void SetShapeBit (UInt_t f, Bool_t set)
 Equivalent of TObject::SetBit. More...
 
Int_t ShapeDistancetoPrimitive (Int_t numpoints, Int_t px, Int_t py) const
 Returns distance to shape primitive mesh. More...
 
virtual void Sizeof3D () const =0
 
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. More...
 
 TNamed (const TString &name, const TString &title)
 
virtual ~TNamed ()
 TNamed destructor. More...
 
virtual void Clear (Option_t *option="")
 Set name and title to empty strings (""). More...
 
virtual TObjectClone (const char *newname="") const
 Make a clone of an object using the Streamer facility. More...
 
virtual Int_t Compare (const TObject *obj) const
 Compare two TNamed objects. More...
 
virtual void Copy (TObject &named) const
 Copy this to obj. More...
 
virtual void FillBuffer (char *&buffer)
 Encode TNamed into output buffer. More...
 
virtual const char * GetName () const
 Returns name of object. More...
 
virtual const char * GetTitle () const
 Returns title of object. More...
 
virtual ULong_t Hash () const
 Return hash value for this object. More...
 
virtual Bool_t IsSortable () const
 
virtual void ls (Option_t *option="") const
 List TNamed name and title. More...
 
TNamedoperator= (const TNamed &rhs)
 TNamed assignment operator. More...
 
virtual void Print (Option_t *option="") const
 Print TNamed name and title. More...
 
virtual void SetName (const char *name)
 Set the name of the TNamed. More...
 
virtual void SetNameTitle (const char *name, const char *title)
 Set all the TNamed parameters (name and title). More...
 
virtual void SetTitle (const char *title="")
 Set the title of the TNamed. More...
 
virtual Int_t Sizeof () const
 Return size of the TNamed part of the TObject. More...
 
- Public Member Functions inherited from TObject
 TObject ()
 TObject constructor. More...
 
 TObject (const TObject &object)
 TObject copy ctor. More...
 
virtual ~TObject ()
 TObject destructor. More...
 
void AbstractMethod (const char *method) const
 Use this method to implement an "abstract" method that you don't want to leave purely abstract. More...
 
virtual void AppendPad (Option_t *option="")
 Append graphics object to current pad. More...
 
virtual void Browse (TBrowser *b)
 Browse object. May be overridden for another default action. More...
 
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. More...
 
virtual const char * ClassName () const
 Returns name of class to which the object belongs. More...
 
virtual void Clear (Option_t *="")
 
virtual TObjectClone (const char *newname="") const
 Make a clone of an object using the Streamer facility. More...
 
virtual Int_t Compare (const TObject *obj) const
 Compare abstract method. More...
 
virtual void Copy (TObject &object) const
 Copy this to obj. More...
 
virtual void Delete (Option_t *option="")
 Delete this object. More...
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 Computes distance from point (px,py) to the object. More...
 
virtual void Draw (Option_t *option="")
 Default Draw method for all objects. More...
 
virtual void DrawClass () const
 Draw class inheritance tree of the class to which this object belongs. More...
 
virtual TObjectDrawClone (Option_t *option="") const
 Draw a clone of this object in the current selected pad for instance with: gROOT->SetSelectedPad(gPad). More...
 
virtual void Dump () const
 Dump contents of object on stdout. More...
 
virtual void Error (const char *method, const char *msgfmt,...) const
 Issue error message. More...
 
virtual void Execute (const char *method, const char *params, Int_t *error=0)
 Execute method on this object with the given parameter string, e.g. More...
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=0)
 Execute method on this object with parameters stored in the TObjArray. More...
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 Execute action corresponding to an event at (px,py). More...
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 Issue fatal error message. More...
 
virtual TObjectFindObject (const char *name) const
 Must be redefined in derived classes. More...
 
virtual TObjectFindObject (const TObject *obj) const
 Must be redefined in derived classes. More...
 
virtual Option_tGetDrawOption () const
 Get option used by the graphics system to draw this object. More...
 
virtual const char * GetIconName () const
 Returns mime type name of object. More...
 
virtual const char * GetName () const
 Returns name of object. More...
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 Returns string containing info about the object at position (px,py). More...
 
virtual Option_tGetOption () const
 
virtual const char * GetTitle () const
 Returns title of object. More...
 
virtual UInt_t GetUniqueID () const
 Return the unique object id. More...
 
virtual Bool_t HandleTimer (TTimer *timer)
 Execute action in response of a timer timing out. More...
 
virtual ULong_t Hash () const
 Return hash value for this object. More...
 
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. More...
 
virtual void Info (const char *method, const char *msgfmt,...) const
 Issue info message. More...
 
virtual Bool_t InheritsFrom (const char *classname) const
 Returns kTRUE if object inherits from class "classname". More...
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 Returns kTRUE if object inherits from TClass cl. More...
 
virtual void Inspect () const
 Dump contents of this object in a graphics canvas. More...
 
void InvertBit (UInt_t f)
 
virtual Bool_t IsEqual (const TObject *obj) const
 Default equal comparison (objects are equal if they have the same address in memory). More...
 
virtual Bool_t IsFolder () const
 Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). More...
 
R__ALWAYS_INLINE Bool_t IsOnHeap () const
 
virtual Bool_t IsSortable () const
 
R__ALWAYS_INLINE Bool_t IsZombie () const
 
virtual void ls (Option_t *option="") const
 The ls function lists the contents of a class on stdout. More...
 
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). More...
 
virtual Bool_t Notify ()
 This method must be overridden to handle object notification. More...
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 Use this method to declare a method obsolete. More...
 
void operator delete (void *ptr)
 Operator delete. More...
 
void operator delete[] (void *ptr)
 Operator delete []. More...
 
voidoperator new (size_t sz)
 
voidoperator new (size_t sz, void *vp)
 
voidoperator new[] (size_t sz)
 
voidoperator new[] (size_t sz, void *vp)
 
TObjectoperator= (const TObject &rhs)
 TObject assignment operator. More...
 
virtual void Paint (Option_t *option="")
 This method must be overridden if a class wants to paint itself. More...
 
virtual void Pop ()
 Pop on object drawn in a pad to the top of the display list. More...
 
virtual void Print (Option_t *option="") const
 This method must be overridden when a class wants to print itself. More...
 
virtual Int_t Read (const char *name)
 Read contents of object with specified name from the current directory. More...
 
virtual void RecursiveRemove (TObject *obj)
 Recursively remove this object from a list. More...
 
void ResetBit (UInt_t f)
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 Save this object in the file specified by filename. More...
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 Save a primitive as a C++ statement(s) on output stream "out". More...
 
void SetBit (UInt_t f)
 
void SetBit (UInt_t f, Bool_t set)
 Set or unset the user status bits as specified in f. More...
 
virtual void SetDrawOption (Option_t *option="")
 Set drawing option for object. More...
 
virtual void SetUniqueID (UInt_t uid)
 Set the unique object id. More...
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message. More...
 
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. More...
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 Issue warning message. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0)
 Write this object to the current directory. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const
 Write this object to the current directory. More...
 

Private Attributes

Double_t fA
 
Double_t fB
 
Double_t fDz
 
Double_t fRhi
 
Double_t fRlo
 

Additional Inherited Members

- Public Types inherited from TGeoShape
enum  EShapeType {
  kBitMask32 = 0xffffffff , kGeoNoShape = 0 , kGeoBad = BIT(0) , kGeoRSeg = BIT(1) ,
  kGeoPhiSeg = BIT(2) , kGeoThetaSeg = BIT(3) , kGeoVisX = BIT(4) , kGeoVisY = BIT(5) ,
  kGeoVisZ = BIT(6) , kGeoRunTimeShape = BIT(7) , kGeoInvalidShape = BIT(8) , kGeoTorus = BIT(9) ,
  kGeoBox = BIT(10) , kGeoPara = BIT(11) , kGeoSph = BIT(12) , kGeoTube = BIT(13) ,
  kGeoTubeSeg = BIT(14) , kGeoCone = BIT(15) , kGeoConeSeg = BIT(16) , kGeoPcon = BIT(17) ,
  kGeoPgon = BIT(18) , kGeoArb8 = BIT(19) , kGeoEltu = BIT(20) , kGeoTrap = BIT(21) ,
  kGeoCtub = BIT(22) , kGeoTrd1 = BIT(23) , kGeoTrd2 = BIT(24) , kGeoComb = BIT(25) ,
  kGeoClosedShape = BIT(26) , kGeoXtru = BIT(27) , kGeoParaboloid = BIT(28) , kGeoHalfSpace = BIT(29) ,
  kGeoHype = BIT(30) , kGeoSavePrimitive = BIT(20)
}
 
- Public Types inherited from TObject
enum  {
  kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 ,
  kBitMask = 0x00ffffff
}
 
enum  { kSingleKey = BIT(0) , kOverwrite = BIT(1) , kWriteDelete = BIT(2) }
 
enum  EDeprecatedStatusBits { kObjInCanvas = BIT(3) }
 
enum  EStatusBits {
  kCanDelete = BIT(0) , kMustCleanup = BIT(3) , kIsReferenced = BIT(4) , kHasUUID = BIT(5) ,
  kCannotPick = BIT(6) , kNoContextMenu = BIT(8) , kInvalidObject = BIT(13)
}
 
- 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. More...
 
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[3] is located inside a box of having dx, dy, dz as half-lengths. More...
 
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. More...
 
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. More...
 
- Static Public Member Functions inherited from TGeoShape
static Double_t Big ()
 
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. More...
 
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. More...
 
static Double_t EpsMch ()
 static function returning the machine round-off error More...
 
static TGeoMatrixGetTransform ()
 Returns current transformation matrix that applies to shape. More...
 
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. More...
 
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. More...
 
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]. More...
 
static Bool_t IsSameWithinTolerance (Double_t a, Double_t b)
 Check if two numbers differ with less than a tolerance. More...
 
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) More...
 
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. More...
 
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. More...
 
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) More...
 
static void SetTransform (TGeoMatrix *matrix)
 Set current transformation matrix that applies to shape. More...
 
static Double_t Tolerance ()
 
- Static Public Member Functions inherited from TObject
static Long_t GetDtorOnly ()
 Return destructor only flag. More...
 
static Bool_t GetObjectStat ()
 Get status of object stat flag. More...
 
static void SetDtorOnly (void *obj)
 Set destructor only flag. More...
 
static void SetObjectStat (Bool_t stat)
 Turn on/off tracking of objects in the TObjectTable. More...
 
- Protected Member Functions inherited from TGeoBBox
virtual void FillBuffer3D (TBuffer3D &buffer, Int_t reqSections, Bool_t localFrame) const
 Fills the supplied buffer, with sections in desired frame See TBuffer3D.h for explanation of sections, frame etc. More...
 
- Protected Member Functions inherited from TGeoShape
virtual void FillBuffer3D (TBuffer3D &buffer, Int_t reqSections, Bool_t localFrame) const
 Fill the supplied buffer, with sections in desired frame See TBuffer3D.h for explanation of sections, frame etc. More...
 
Int_t GetBasicColor () const
 Get the basic color (0-7). More...
 
void SetOnBoundary (Bool_t)
 
void TransformPoints (Double_t *points, UInt_t NbPoints) const
 Tranform a set of points (LocalToMaster) More...
 
- 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). More...
 
void MakeZombie ()
 
- Protected Attributes inherited from TGeoBBox
Double_t fDX
 
Double_t fDY
 
Double_t fDZ
 
Double_t fOrigin [3]
 
- 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]

Constructor & Destructor Documentation

◆ TGeoParaboloid() [1/4]

TGeoParaboloid::TGeoParaboloid ( )

Dummy constructor.

Definition at line 47 of file TGeoParaboloid.cxx.

◆ TGeoParaboloid() [2/4]

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

Default constructor specifying X and Y semiaxis length.

Definition at line 60 of file TGeoParaboloid.cxx.

◆ TGeoParaboloid() [3/4]

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 76 of file TGeoParaboloid.cxx.

◆ TGeoParaboloid() [4/4]

TGeoParaboloid::TGeoParaboloid ( Double_t param)

Default constructor specifying minimum and maximum radius.

  • param[0] = rlo
  • param[1] = rhi
  • param[2] = dz

Definition at line 95 of file TGeoParaboloid.cxx.

◆ ~TGeoParaboloid()

TGeoParaboloid::~TGeoParaboloid ( )
virtual

destructor

Definition at line 105 of file TGeoParaboloid.cxx.

Member Function Documentation

◆ Capacity()

Double_t TGeoParaboloid::Capacity ( ) const
virtual

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

Reimplemented from TGeoBBox.

Definition at line 112 of file TGeoParaboloid.cxx.

◆ ComputeBBox()

void TGeoParaboloid::ComputeBBox ( )
virtual

compute bounding box of the tube

Reimplemented from TGeoBBox.

Definition at line 121 of file TGeoParaboloid.cxx.

◆ ComputeNormal()

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

Compute normal to closest surface from POINT.

Reimplemented from TGeoBBox.

Definition at line 131 of file TGeoParaboloid.cxx.

◆ ComputeNormal_v()

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

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 676 of file TGeoParaboloid.cxx.

◆ Contains()

Bool_t TGeoParaboloid::Contains ( const Double_t point) const
virtual

test if point is inside the elliptical tube

Reimplemented from TGeoBBox.

Definition at line 164 of file TGeoParaboloid.cxx.

◆ Contains_v()

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

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 666 of file TGeoParaboloid.cxx.

◆ DistancetoPrimitive()

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

compute closest distance from point px,py to each vertex

Reimplemented from TGeoBBox.

Definition at line 177 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 = 0 
) const
virtual

compute distance from inside point to surface of the paraboloid

Reimplemented from TGeoBBox.

Definition at line 227 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
virtual

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

Reimplemented from TGeoBBox.

Definition at line 684 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 = 0 
) const
virtual

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

Reimplemented from TGeoBBox.

Definition at line 249 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
virtual

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

Reimplemented from TGeoBBox.

Definition at line 692 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 188 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 
)
virtual

Divide the paraboloid along one axis.

Reimplemented from TGeoBBox.

Definition at line 284 of file TGeoParaboloid.cxx.

◆ GetBoundingCylinder()

void TGeoParaboloid::GetBoundingCylinder ( Double_t param) const
virtual

Fill vector param[4] with the bounding cylinder parameters.

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

Reimplemented from TGeoBBox.

Definition at line 295 of file TGeoParaboloid.cxx.

◆ GetBuffer3D()

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

Fills a static 3D buffer and returns a reference.

Reimplemented from TGeoBBox.

Definition at line 635 of file TGeoParaboloid.cxx.

◆ GetDz()

Double_t TGeoParaboloid::GetDz ( ) const
inline

Definition at line 53 of file TGeoParaboloid.h.

◆ GetMakeRuntimeShape()

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

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

Reimplemented from TGeoBBox.

Definition at line 308 of file TGeoParaboloid.cxx.

◆ GetMeshNumbers()

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

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

Reimplemented from TGeoBBox.

Definition at line 548 of file TGeoParaboloid.cxx.

◆ GetNmeshVertices()

Int_t TGeoParaboloid::GetNmeshVertices ( ) const
virtual

Returns number of vertices on the paraboloid mesh.

Reimplemented from TGeoBBox.

Definition at line 559 of file TGeoParaboloid.cxx.

◆ GetPointsOnSegments()

virtual Bool_t TGeoParaboloid::GetPointsOnSegments ( Int_t  npoints,
Double_t array 
) const
inlinevirtual

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 59 of file TGeoParaboloid.h.

◆ GetRhi()

Double_t TGeoParaboloid::GetRhi ( ) const
inline

Definition at line 52 of file TGeoParaboloid.h.

◆ GetRlo()

Double_t TGeoParaboloid::GetRlo ( ) const
inline

Definition at line 51 of file TGeoParaboloid.h.

◆ InspectShape()

void TGeoParaboloid::InspectShape ( ) const
virtual

print shape parameters

Reimplemented from TGeoBBox.

Definition at line 316 of file TGeoParaboloid.cxx.

◆ IsCylType()

virtual Bool_t TGeoParaboloid::IsCylType ( ) const
inlinevirtual

Reimplemented from TGeoBBox.

Definition at line 61 of file TGeoParaboloid.h.

◆ MakeBuffer3D()

TBuffer3D * TGeoParaboloid::MakeBuffer3D ( ) const
virtual

Creates a TBuffer3D describing this shape.

Coordinates are in local reference frame.

Reimplemented from TGeoBBox.

Definition at line 330 of file TGeoParaboloid.cxx.

◆ Safety()

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

Computes the closest distance from given point to this shape.

Reimplemented from TGeoBBox.

Definition at line 425 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
virtual

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 702 of file TGeoParaboloid.cxx.

◆ SavePrimitive()

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

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

Reimplemented from TGeoBBox.

Definition at line 568 of file TGeoParaboloid.cxx.

◆ SetDimensions()

void TGeoParaboloid::SetDimensions ( Double_t param)
virtual

Set paraboloid dimensions starting from an array.

Reimplemented from TGeoBBox.

Definition at line 473 of file TGeoParaboloid.cxx.

◆ SetParaboloidDimensions()

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

Set paraboloid dimensions.

Definition at line 455 of file TGeoParaboloid.cxx.

◆ SetPoints() [1/2]

void TGeoParaboloid::SetPoints ( Double_t points) const
virtual

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 500 of file TGeoParaboloid.cxx.

◆ SetPoints() [2/2]

void TGeoParaboloid::SetPoints ( Float_t points) const
virtual

Create paraboloid mesh points.

Reimplemented from TGeoBBox.

Definition at line 582 of file TGeoParaboloid.cxx.

◆ SetSegsAndPols()

void TGeoParaboloid::SetSegsAndPols ( TBuffer3D buff) const
virtual

Fill TBuffer3D structure for segments and polygons.

Reimplemented from TGeoBBox.

Definition at line 352 of file TGeoParaboloid.cxx.

◆ Sizeof3D()

void TGeoParaboloid::Sizeof3D ( ) const
virtual

Reimplemented from TGeoBBox.

Definition at line 628 of file TGeoParaboloid.cxx.

Member Data Documentation

◆ fA

Double_t TGeoParaboloid::fA
private

Definition at line 23 of file TGeoParaboloid.h.

◆ fB

Double_t TGeoParaboloid::fB
private

Definition at line 24 of file TGeoParaboloid.h.

◆ fDz

Double_t TGeoParaboloid::fDz
private

Definition at line 22 of file TGeoParaboloid.h.

◆ fRhi

Double_t TGeoParaboloid::fRhi
private

Definition at line 21 of file TGeoParaboloid.h.

◆ fRlo

Double_t TGeoParaboloid::fRlo
private

Definition at line 20 of file TGeoParaboloid.h.

Libraries for TGeoParaboloid:
[legend]

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