102   if ((
fX < 0) || (
fY < 0) || (
fZ < 0)) {
 
 
  128   if ((
fX < 0) || (
fY < 0) || (
fZ < 0)) {
 
 
  148   if ((
fX < 0) || (
fY < 0) || (
fZ < 0))
 
 
  203      norm[0] = norm[1] = 0;
 
  216   if (norm[0] * 
dir[0] + norm[1] * 
dir[1] + norm[2] * 
dir[2] < 0) {
 
 
  259   saf[0] = 
fZ + point[2];
 
  260   saf[1] = 
fZ - point[2];
 
 
  314      if (point[2] * 
dir[2] >= 0)
 
  337         if (point[2] * 
dir[2] > 0)
 
 
  418   default: 
Error(
"Divide", 
"Wrong axis type for division"); 
return nullptr;
 
  426      voldiv->AddNodeOffset(vol, 
ic, start + step / 2. + 
ic * step, opt.
Data());
 
 
  475   if (
mat->IsRotation()) {
 
  476      Error(
"GetFittingBox", 
"cannot handle parametrized rotated volumes");
 
  483      Error(
"GetFittingBox", 
"wrong matrix - parametrized box is outside this");
 
  495         Error(
"GetFittingBox", 
"wrong matrix");
 
  499   if (dd[0] >= 0 && dd[1] >= 0) {
 
 
  552      Error(
"GetMakeRuntimeShape", 
"invalid mother");
 
 
  583   printf(
" Bounding box:\n");
 
 
  610   for (
Int_t i = 0; i < 3; i++)
 
 
  623   out << 
"   dx    = " << 
fX << 
";" << std::endl;
 
  624   out << 
"   dy    = " << 
fY << 
";" << std::endl;
 
  625   out << 
"   dz    = " << 
fZ << 
";" << std::endl;
 
  626   out << 
"   alpha = " << 
fAlpha << 
";" << std::endl;
 
  627   out << 
"   theta = " << 
fTheta << 
";" << std::endl;
 
  628   out << 
"   phi   = " << 
fPhi << 
";" << std::endl;
 
  629   out << 
"   TGeoShape *" << 
GetPointerName() << 
" = new TGeoPara(\"" << 
GetName() << 
"\",dx,dy,dz,alpha,theta,phi);" 
 
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t points
 
R__EXTERN TGeoManager * gGeoManager
 
void GetBoundingCylinder(Double_t *param) const override
Fill vector param[4] with the bounding cylinder parameters.
 
void SetBoxDimensions(Double_t dx, Double_t dy, Double_t dz, Double_t *origin=nullptr)
Set parameters of the box.
 
void InspectShape() const override
Prints shape parameters.
 
void Sizeof3D() const override
 
TGeoVolumeMulti * MakeVolumeMulti(const char *name, TGeoMedium *medium)
Make a TGeoVolumeMulti handling a list of volumes.
 
Geometrical transformation package.
 
Node containing an offset.
 
void SetDimensions(Double_t *param) override
Set dimensions starting from an array.
 
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 coor...
 
void ComputeNormal(const Double_t *point, const Double_t *dir, Double_t *norm) override
Compute normal to closest surface from POINT.
 
Double_t Safety(const Double_t *point, Bool_t in=kTRUE) const override
computes the closest distance from given point to this shape, according to option.
 
void Sizeof3D() const override
fill size of this 3-D object
 
TGeoShape * GetMakeRuntimeShape(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 GetBoundingCylinder(Double_t *param) const override
Fill vector param[4] with the bounding cylinder parameters.
 
Double_t Capacity() const override
Computes capacity of the shape in [length^3].
 
TGeoVolume * Divide(TGeoVolume *voldiv, const char *divname, Int_t iaxis, Int_t ndiv, Double_t start, Double_t step) override
Divide this parallelepiped shape belonging to volume "voldiv" into ndiv equal volumes called divname,...
 
Double_t GetAxisRange(Int_t iaxis, Double_t &xlo, Double_t &xhi) const override
Get range of shape for a given axis.
 
TGeoPara()
Default constructor.
 
void InspectShape() const override
print shape parameters
 
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.
 
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. Returns 0 if successful.
 
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 dist...
 
void SetPoints(Double_t *points) const override
Create PARA mesh points.
 
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.
 
~TGeoPara() override
destructor
 
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 inside point to surface of the para
 
void SavePrimitive(std::ostream &out, Option_t *option="") override
Save a primitive as a C++ statement(s) on output stream "out".
 
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 dist...
 
Bool_t Contains(const Double_t *point) const override
test if point is inside this sphere test Z range
 
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 para Boundary safe algorithm.
 
void ComputeBBox() override
compute bounding box
 
Base finder class for patterns.
 
Base abstract class for all shapes.
 
void SetShapeBit(UInt_t f, Bool_t set)
Equivalent of TObject::SetBit.
 
static Bool_t IsSameWithinTolerance(Double_t a, Double_t b)
Check if two numbers differ with less than a tolerance.
 
const char * GetPointerName() const
Provide a pointer name containing uid.
 
const char * GetName() const override
Get the shape name.
 
Bool_t TestShapeBit(UInt_t f) const
 
TGeoVolume, TGeoVolumeMulti, TGeoVolumeAssembly are the volume classes.
 
R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const
 
virtual const char * ClassName() const
Returns name of class to which the object belongs.
 
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
 
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
 
const char * Data() const
 
Long64_t LocMin(Long64_t n, const T *a)
Returns index of array with the minimum element.
 
T1 Sign(T1 a, T2 b)
Returns a value with the magnitude of a and the sign of b.
 
Long64_t LocMax(Long64_t n, const T *a)
Returns index of array with the maximum element.
 
constexpr Double_t DegToRad()
Conversion from degree to radian: .
 
Double_t Sqrt(Double_t x)
Returns the square root of x.
 
Short_t Min(Short_t a, Short_t b)
Returns the smallest of a and b.
 
Double_t Cos(Double_t)
Returns the cosine of an angle of x radians.
 
Double_t Sin(Double_t)
Returns the sine of an angle of x radians.
 
Double_t Tan(Double_t)
Returns the tangent of an angle of x radians.
 
Short_t Abs(Short_t d)
Returns the absolute value of parameter Short_t d.