Belle II Software development
|
a Belle crystal in Geant4 More...
#include <BelleCrystal.h>
Public Member Functions | |
BelleCrystal (const G4String &pName) | |
Constructor for "nominal" BelleCrystal. | |
BelleCrystal (const G4String &pName, int, const G4ThreeVector *) | |
Constructor. | |
virtual | ~BelleCrystal () |
Destructor. | |
Plane_t | GetSidePlane (G4int n) const |
Get side plane. | |
G4double | GetCubicVolume () |
get the Cubic volume | |
G4double | GetSurfaceArea () |
get the surface area | |
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 exact shortest distance to any boundary from outside. | |
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 exact shortest distance to any boundary 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 | |
G4VSolid * | Clone () const |
Make a clone of the object. | |
std::ostream & | StreamInfo (std::ostream &os) const |
Stream object contents to an output stream. | |
void | DescribeYourselfTo (G4VGraphicsScene &scene) const |
Visualisation functions. | |
G4Polyhedron * | CreatePolyhedron () const |
create polyhedron | |
void | BoundingLimits (G4ThreeVector &pMin, G4ThreeVector &pMax) const |
Two vectors define an axis-parallel bounding box for the shape. | |
BelleCrystal (__void__ &) | |
Fake default constructor for usage restricted to direct object persistency for clients requiring preallocation of memory for persistifiable objects. | |
BelleCrystal (const BelleCrystal &rhs) | |
copy constructor | |
BelleCrystal & | operator= (const BelleCrystal &rhs) |
assignment operator | |
G4ThreeVector | vertex (unsigned int i) const |
return ith vertex | |
Protected Member Functions | |
G4bool | MakePlane (const G4ThreeVector &p1, const G4ThreeVector &p2, const G4ThreeVector &p3, const G4ThreeVector &p4, Plane_t &plane) const |
Calculate the coef's of the plane p1->p2->p3->p4->p1 where the ThreeVectors 1-4 are in anti-clockwise order when viewed from in front of the plane (i.e. | |
Private Member Functions | |
G4ThreeVector | GetPointOnTriangle (int) const |
Returns a random point on the surface of one of the faces. | |
double | area (int, double &) const |
triangle area | |
double | getvolarea () const |
get volume area | |
const unsigned int * | ivertx (unsigned int i) const |
get the ith vertex | |
Private Attributes | |
unsigned int | nsides |
the number of sides | |
double | fDz |
Dz. | |
std::vector< Plane_t > | fPlanes |
vector of planes | |
std::vector< Point_t > | fx |
vector of points | |
std::vector< double > | fareas |
vector of area values | |
a Belle crystal in Geant4
Definition at line 37 of file BelleCrystal.h.
|
explicit |
Constructor for "nominal" BelleCrystal.
Definition at line 145 of file BelleCrystal.cc.
BelleCrystal | ( | const G4String & | pName, |
int | n, | ||
const G4ThreeVector * | pt | ||
) |
Constructor.
Definition at line 47 of file BelleCrystal.cc.
|
virtual |
Destructor.
Definition at line 158 of file BelleCrystal.cc.
|
explicit |
Fake default constructor for usage restricted to direct object persistency for clients requiring preallocation of memory for persistifiable objects.
Definition at line 152 of file BelleCrystal.cc.
BelleCrystal | ( | const BelleCrystal & | rhs | ) |
|
private |
triangle area
Definition at line 648 of file BelleCrystal.cc.
void BoundingLimits | ( | G4ThreeVector & | pMin, |
G4ThreeVector & | pMax | ||
) | const |
Two vectors define an axis-parallel bounding box for the shape.
Definition at line 733 of file BelleCrystal.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 254 of file BelleCrystal.cc.
G4VSolid * Clone | ( | ) | const |
void ComputeDimensions | ( | G4VPVParameterisation * | p, |
const G4int | n, | ||
const G4VPhysicalVolume * | pRep | ||
) |
compute the dimensions
Definition at line 230 of file BelleCrystal.cc.
G4Polyhedron * CreatePolyhedron | ( | ) | const |
create polyhedron
Definition at line 724 of file BelleCrystal.cc.
void DescribeYourselfTo | ( | G4VGraphicsScene & | scene | ) | const |
Visualisation functions.
Definition at line 703 of file BelleCrystal.cc.
G4double DistanceToIn | ( | const G4ThreeVector & | p | ) | const |
Calculate exact shortest distance to any boundary from outside.
Definition at line 382 of file BelleCrystal.cc.
G4double DistanceToIn | ( | const G4ThreeVector & | p, |
const G4ThreeVector & | v | ||
) | const |
Calculate exact shortest distance to any boundary from outside.
Definition at line 430 of file BelleCrystal.cc.
G4double DistanceToOut | ( | const G4ThreeVector & | p | ) | const |
Calculate exact shortest distance to any boundary from inside.
Definition at line 405 of file BelleCrystal.cc.
G4double DistanceToOut | ( | const G4ThreeVector & | p, |
const G4ThreeVector & | v, | ||
const G4bool | calcNorm = false , |
||
G4bool * | validNorm = 0 , |
||
G4ThreeVector * | n = 0 |
||
) | const |
Calculate exact shortest distance to any boundary from inside.
Definition at line 474 of file BelleCrystal.cc.
G4double GetCubicVolume | ( | ) |
get the Cubic volume
Definition at line 674 of file BelleCrystal.cc.
G4GeometryType GetEntityType | ( | ) | const |
Get entity type.
Definition at line 541 of file BelleCrystal.cc.
G4ThreeVector GetPointOnSurface | ( | ) | const |
get point on surface
Definition at line 694 of file BelleCrystal.cc.
|
private |
Returns a random point on the surface of one of the faces.
Definition at line 634 of file BelleCrystal.cc.
|
inline |
G4double GetSurfaceArea | ( | ) |
get the surface area
Definition at line 684 of file BelleCrystal.cc.
|
private |
get volume area
Definition at line 658 of file BelleCrystal.cc.
EInside Inside | ( | const G4ThreeVector & | p | ) | const |
Return whether point inside/outside/on surface, using tolerance.
Definition at line 298 of file BelleCrystal.cc.
|
private |
get the ith vertex
Definition at line 572 of file BelleCrystal.cc.
|
protected |
Calculate the coef's of the plane p1->p2->p3->p4->p1 where the ThreeVectors 1-4 are in anti-clockwise order when viewed from in front of the plane (i.e.
from normal direction).
Return true if the ThreeVectors are coplanar + set coef;s false if ThreeVectors are not coplanar
Definition at line 198 of file BelleCrystal.cc.
BelleCrystal & operator= | ( | const BelleCrystal & | rhs | ) |
assignment operator
Definition at line 175 of file BelleCrystal.cc.
std::ostream & StreamInfo | ( | std::ostream & | os | ) | const |
Stream object contents to an output stream.
Definition at line 553 of file BelleCrystal.cc.
G4ThreeVector SurfaceNormal | ( | const G4ThreeVector & | p | ) | const |
Calculate side nearest to p, and return normal.
Definition at line 324 of file BelleCrystal.cc.
G4ThreeVector vertex | ( | unsigned int | i | ) | const |
return ith vertex
Definition at line 612 of file BelleCrystal.cc.
|
mutableprivate |
vector of area values
Definition at line 149 of file BelleCrystal.h.
|
private |
Dz.
Definition at line 145 of file BelleCrystal.h.
|
private |
vector of planes
Definition at line 146 of file BelleCrystal.h.
|
private |
vector of points
Definition at line 147 of file BelleCrystal.h.
|
private |
the number of sides
Definition at line 144 of file BelleCrystal.h.