VGM implementation for Geant4 Arb8 solid, the shape is implemented using G4TessellatedSolid, or G4GenericTrap when the shape is twisted.
More...
#include <Arb8.h>
|
| | Arb8 (const std::string &name, double hz, std::vector< VGM::TwoVector > vertices) |
| | Arb8 (G4GenericTrap *genericTrap, G4ReflectedSolid *reflected=0) |
| virtual | ~Arb8 () |
| virtual std::string | Name () const |
| | Return the name of this solid.
|
| virtual int | NofVertices () const |
| | Return the number of vertices.
|
| virtual VGM::TwoVector | Vertex (int index) const |
| | Return the index-th vertex.
|
| virtual double | TwistAngle (int index) const |
| | Return the index-th twist angle.
|
| virtual double | ZHalfLength () const |
| | Return the half-length along the z axis in mm.
|
| | VArb8 () |
| virtual | ~VArb8 () |
| virtual VGM::SolidType | Type () const |
| | Return the type of this solid.
|
| virtual std::ostream & | Put (std::ostream &out) const |
| | Put the printing of the solid parameters in the out stream.
|
| virtual | ~IArb8 () |
| virtual | ~ISolid () |
VGM implementation for Geant4 Arb8 solid, the shape is implemented using G4TessellatedSolid, or G4GenericTrap when the shape is twisted.
- Author
- Ivana Hrivnacova; IPN Orsay
Definition at line 43 of file Arb8.h.
◆ Arb8() [1/4]
| Geant4GM::Arb8::Arb8 |
( |
const std::string & | name, |
|
|
double | hz, |
|
|
std::vector< VGM::TwoVector > | vertices ) |
Standard constructor to define Arb8 from parameters
- Parameters
-
| hz | half-length along the z axis in mm |
| vertices | vector of (x,y) coordinates of vertices
- first four points are the (x,y) coordinates of the vertices sitting on the -dz plane;
- last four points are the (x,y) coordinates of the vertices sitting on the +dz plane;
|
The order of defining the vertices of an arb8 is the following:
- point 0 is connected with points 1,3,4
- point 1 is connected with points 0,2,5
- point 2 is connected with points 1,3,6
- point 3 is connected with points 0,2,7
- point 4 is connected with points 0,5,7
- point 5 is connected with points 1,4,6
- point 6 is connected with points 2,5,7
- point 7 is connected with points 3,4,6
Points can be identical in order to create shapes with less than vertices.
Definition at line 108 of file Arb8.cxx.
◆ Arb8() [2/4]
| Geant4GM::Arb8::Arb8 |
( |
G4GenericTrap * | genericTrap, |
|
|
G4ReflectedSolid * | reflected = 0 ) |
Standard constructor to define Arb8 from Geant4 object
Definition at line 269 of file Arb8.cxx.
◆ ~Arb8()
| Geant4GM::Arb8::~Arb8 |
( |
| ) |
|
|
virtual |
◆ Arb8() [3/4]
Protected default constructor
Definition at line 299 of file Arb8.cxx.
◆ Arb8() [4/4]
| Geant4GM::Arb8::Arb8 |
( |
const Arb8 & | rhs | ) |
|
|
protected |
Protected copy constructor
Definition at line 312 of file Arb8.cxx.
◆ IsTwisted()
| bool Geant4GM::Arb8::IsTwisted |
( |
std::vector< VGM::TwoVector > | vertices | ) |
|
|
static |
From TgeoArb8. Computes tangents of twist angles (angles between projections on XY plane of corresponding -dz +dz edges).
Definition at line 81 of file Arb8.cxx.
◆ MaxTwistAngle()
| double Geant4GM::Arb8::MaxTwistAngle |
( |
const std::vector< VGM::TwoVector > & | vertices | ) |
|
|
static |
Returns the largest twist of the four lateral faces, in degrees. This is the quantity G4GenericTrap limits to 90 degrees, so it says whether a twisted Arb8 can be converted to Geant4 at all.
Definition at line 65 of file Arb8.cxx.
◆ Name()
| std::string Geant4GM::Arb8::Name |
( |
| ) |
const |
|
virtual |
◆ NofVertices()
| int Geant4GM::Arb8::NofVertices |
( |
| ) |
const |
|
virtual |
◆ Vertex()
◆ TwistAngle()
| double Geant4GM::Arb8::TwistAngle |
( |
int | index | ) |
const |
|
virtual |
◆ ZHalfLength()
| double Geant4GM::Arb8::ZHalfLength |
( |
| ) |
const |
|
virtual |
Return the half-length along the z axis in mm.
Implements VGM::IArb8.
Definition at line 466 of file Arb8.cxx.
The documentation for this class was generated from the following files:
- packages/Geant4GM/include/Geant4GM/solids/Arb8.h
- packages/Geant4GM/source/solids/Arb8.cxx