Belle II Software development
|
BelleLathe class. More...
#include <BelleLathe.h>
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 | |
BelleLathe & | operator= (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_t > | fcontour |
vector of zr structs | |
std::vector< cachezr_t > | fcache |
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_t > | ftlist |
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 | |
BelleLathe class.
Definition at line 67 of file BelleLathe.h.
|
explicit |
Constructor for "nominal" BelleLathe whose parameters are to be set by a G4VPVParamaterisation later.
Definition at line 268 of file BelleLathe.cc.
BelleLathe | ( | const G4String & | pName, |
double | phi0, | ||
double | dphi, | ||
int | n, | ||
double * | z, | ||
double * | rin, | ||
double * | rout | ||
) |
explicit constructor
Definition at line 85 of file BelleLathe.cc.
BelleLathe | ( | const G4String & | pName, |
double | phi0, | ||
double | dphi, | ||
const std::vector< zr_t > & | c | ||
) |
explicit constructor
Definition at line 79 of file BelleLathe.cc.
|
virtual |
Destructor.
Definition at line 285 of file BelleLathe.cc.
|
explicit |
Fake default constructor for usage restricted to direct object persistency for clients requiring preallocation of memory for persistifiable objects.
Definition at line 277 of file BelleLathe.cc.
BelleLathe | ( | const BelleLathe & | rhs | ) |
copy constructor
Definition at line 294 of file BelleLathe.cc.
void BoundingLimits | ( | G4ThreeVector & | pMin, |
G4ThreeVector & | pMax | ||
) | const |
Two vectors define an axis-parallel bounding box for the shape.
Definition at line 1855 of file BelleLathe.cc.
G4bool CalculateExtent | ( | const EAxis | pAxis, |
const G4VoxelLimits & | pVoxelLimit, | ||
const G4AffineTransform & | pTransform, | ||
G4double & | pMin, | ||
G4double & | pMax | ||
) | const |
calculate the extent of the volume
Definition at line 514 of file BelleLathe.cc.
G4VSolid * Clone | ( | ) | const |
void ComputeDimensions | ( | G4VPVParameterisation * | p, |
const G4int | n, | ||
const G4VPhysicalVolume * | pRep | ||
) |
compute the dimensions
Definition at line 345 of file BelleLathe.cc.
G4Polyhedron * CreatePolyhedron | ( | ) | const |
void DescribeYourselfTo | ( | G4VGraphicsScene & | scene | ) | const |
Visualisation function.
Definition at line 1849 of file BelleLathe.cc.
G4double DistanceToIn | ( | const G4ThreeVector & | p | ) | const |
Calculate exact shortest distance to any boundary from outside.
Definition at line 1163 of file BelleLathe.cc.
G4double DistanceToIn | ( | const G4ThreeVector & | p, |
const G4ThreeVector & | v | ||
) | const |
Calculate distance to shape from outside - return kInfinity if no intersection.
Definition at line 1253 of file BelleLathe.cc.
G4double DistanceToOut | ( | const G4ThreeVector & | p | ) | const |
Calculate exact shortest distance to any boundary from inside.
Definition at line 1222 of file BelleLathe.cc.
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.
Definition at line 1471 of file BelleLathe.cc.
|
protected |
ear trim
Definition at line 1702 of file BelleLathe.cc.
|
inline |
G4GeometryType GetEntityType | ( | ) | const |
Get entity type.
Definition at line 1810 of file BelleLathe.cc.
G4ThreeVector GetPointOnSurface | ( | ) | const |
Get point on surface.
Definition at line 1764 of file BelleLathe.cc.
|
inline |
|
protected |
get volume area
Definition at line 1739 of file BelleLathe.cc.
|
protected |
initialize
Definition at line 101 of file BelleLathe.cc.
|
inlineprotected |
EInside Inside | ( | const G4ThreeVector & | p | ) | const |
Return whether point inside/outside/on surface, using tolerance.
Definition at line 983 of file BelleLathe.cc.
|
protected |
calculate all ray solid's surface intersection return ordered vector
Definition at line 428 of file BelleLathe.cc.
|
protected |
minimal distance
Definition at line 962 of file BelleLathe.cc.
return normal
Definition at line 1026 of file BelleLathe.cc.
BelleLathe & operator= | ( | const BelleLathe & | rhs | ) |
assignment operator
Definition at line 305 of file BelleLathe.cc.
std::ostream & StreamInfo | ( | std::ostream & | os | ) | const |
Stream object contents to an output stream.
Definition at line 1822 of file BelleLathe.cc.
G4ThreeVector SurfaceNormal | ( | const G4ThreeVector & | p | ) | const |
Calculate side nearest to p, and return normal.
Definition at line 1077 of file BelleLathe.cc.
|
protected |
wn_poly
Definition at line 945 of file BelleLathe.cc.
|
mutableprivate |
vector of area values
Definition at line 176 of file BelleLathe.h.
|
private |
fc0
Definition at line 182 of file BelleLathe.h.
|
private |
fc1
Definition at line 184 of file BelleLathe.h.
|
private |
vector of cached zr structs
Definition at line 172 of file BelleLathe.h.
|
private |
vector of zr structs
Definition at line 171 of file BelleLathe.h.
|
private |
finishing angle
Definition at line 180 of file BelleLathe.h.
|
private |
greater than pi?
Definition at line 193 of file BelleLathe.h.
|
private |
vector of indices
Definition at line 174 of file BelleLathe.h.
|
private |
fn0x
Definition at line 185 of file BelleLathe.h.
|
private |
fn0y
Definition at line 186 of file BelleLathe.h.
|
private |
fn1x
Definition at line 187 of file BelleLathe.h.
|
private |
fn1y
Definition at line 188 of file BelleLathe.h.
|
private |
starting angle
Definition at line 179 of file BelleLathe.h.
|
private |
maximal r value
Definition at line 190 of file BelleLathe.h.
|
private |
minimal r value
Definition at line 189 of file BelleLathe.h.
|
private |
fs0
Definition at line 181 of file BelleLathe.h.
|
private |
fs1
Definition at line 183 of file BelleLathe.h.
|
private |
vector of segments
Definition at line 175 of file BelleLathe.h.
|
private |
shape
Definition at line 196 of file BelleLathe.h.
|
mutableprivate |
vector of surfaces
Definition at line 197 of file BelleLathe.h.
|
mutableprivate |
vector of triangle structs
Definition at line 177 of file BelleLathe.h.
|
private |
bound within +- 2pi?
Definition at line 194 of file BelleLathe.h.
|
private |
vector of z values
Definition at line 173 of file BelleLathe.h.
|
private |
maximal z value
Definition at line 192 of file BelleLathe.h.
|
private |
minimal z value
Definition at line 191 of file BelleLathe.h.