Belle II Software  release-08-01-10
BelleLathe Class Reference

BelleLathe class. More...

#include <BelleLathe.h>

Inheritance diagram for BelleLathe:
Collaboration diagram for BelleLathe:

Public Member Functions

 BelleLathe (const G4String &pName)
 Constructor for "nominal" BelleLathe whose parameters are to be set by a G4VPVParamaterisation later.
 
 BelleLathe (const G4String &pName, double phi0, double dphi, int n, double *z, double *rin, double *rout)
 explicit constructor
 
 BelleLathe (const G4String &pName, double, double, const std::vector< zr_t > &)
 explicit constructor
 
virtual ~BelleLathe ()
 Destructor.
 
void ComputeDimensions (G4VPVParameterisation *p, const G4int n, const G4VPhysicalVolume *pRep)
 compute the dimensions
 
G4bool CalculateExtent (const EAxis pAxis, const G4VoxelLimits &pVoxelLimit, const G4AffineTransform &pTransform, G4double &pMin, G4double &pMax) const
 calculate the extent of the volume
 
EInside Inside (const G4ThreeVector &p) const
 Return whether point inside/outside/on surface, using tolerance.
 
G4ThreeVector SurfaceNormal (const G4ThreeVector &p) const
 Calculate side nearest to p, and return normal.
 
G4double DistanceToIn (const G4ThreeVector &p, const G4ThreeVector &v) const
 Calculate distance to shape from outside - return kInfinity if no intersection.
 
G4double DistanceToIn (const G4ThreeVector &p) const
 Calculate exact shortest distance to any boundary from outside.
 
G4double DistanceToOut (const G4ThreeVector &p, const G4ThreeVector &v, const G4bool calcNorm=false, G4bool *validNorm=0, G4ThreeVector *n=0) const
 Calculate distance to surface of shape from inside.
 
G4double DistanceToOut (const G4ThreeVector &p) const
 Calculate exact shortest distance to any boundary from inside.
 
G4GeometryType GetEntityType () const
 Get entity type.
 
G4ThreeVector GetPointOnSurface () const
 Get point on surface.
 
G4double GetCubicVolume ()
 Get cubic volume.
 
G4double GetSurfaceArea ()
 Get surface area.
 
G4VSolid * Clone () const
 Make a clone of the object.
 
void BoundingLimits (G4ThreeVector &pMin, G4ThreeVector &pMax) const
 Two vectors define an axis-parallel bounding box for the shape.
 
std::ostream & StreamInfo (std::ostream &os) const
 Stream object contents to an output stream.
 
void DescribeYourselfTo (G4VGraphicsScene &scene) const
 Visualisation function.
 
G4Polyhedron * CreatePolyhedron () const
 create polyhedron
 
 BelleLathe (__void__ &)
 Fake default constructor for usage restricted to direct object persistency for clients requiring preallocation of memory for persistifiable objects.
 
 BelleLathe (const BelleLathe &rhs)
 copy constructor
 
BelleLatheoperator= (const BelleLathe &rhs)
 assignment operator
 

Protected Member Functions

bool insector (double, double) const
 True if (x,y) is within the shape rotation.
 
int wn_poly (const zr_t &) const
 wn_poly
 
double mindist (const zr_t &) const
 minimal distance
 
std::vector< double > linecross (const G4ThreeVector &, const G4ThreeVector &) const
 calculate all ray solid's surface intersection return ordered vector
 
void eartrim () const
 ear trim
 
zr_t normal (const zr_t &, double &) const
 return normal
 
void getvolarea ()
 get volume area
 
void Init (const std::vector< zr_t > &, double, double)
 initialize
 

Private Attributes

std::vector< zr_tfcontour
 vector of zr structs
 
std::vector< cachezr_tfcache
 vector of cached zr structs
 
std::vector< double > fz
 vector of z values
 
std::vector< int > findx
 vector of indices
 
std::vector< int > fseg
 vector of segments
 
std::vector< double > farea
 vector of area values
 
std::vector< triangle_tftlist
 vector of triangle structs
 
double fphi
 starting angle
 
double fdphi
 finishing angle
 
double fs0
 fs0
 
double fc0
 fc0
 
double fs1
 fs1
 
double fc1
 fc1
 
double fn0x
 fn0x
 
double fn0y
 fn0y
 
double fn1x
 fn1x
 
double fn1y
 fn1y
 
double frmin
 minimal r value
 
double frmax
 maximal r value
 
double fzmin
 minimal z value
 
double fzmax
 maximal z value
 
bool fgtpi
 greater than pi?
 
bool ftwopi
 bound within +- 2pi?
 
G4VSolid * fshape
 shape
 
std::vector< G4ThreeVector > fsurf
 vector of surfaces
 

Detailed Description

BelleLathe class.

Definition at line 67 of file BelleLathe.h.


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