VGM Version 5.5
Loading...
Searching...
No Matches
Geant4GM::Arb8 Class Reference

VGM implementation for Geant4 Arb8 solid, the shape is implemented using G4TessellatedSolid, or G4GenericTrap when the shape is twisted. More...

#include <Arb8.h>

Inheritance diagram for Geant4GM::Arb8:

Public Member Functions

 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.
Public Member Functions inherited from BaseVGM::VArb8
 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.
Public Member Functions inherited from VGM::IArb8
virtual ~IArb8 ()
Public Member Functions inherited from VGM::ISolid
virtual ~ISolid ()

Static Public Member Functions

static bool IsTwisted (std::vector< VGM::TwoVector > vertices)
static double MaxTwistAngle (const std::vector< VGM::TwoVector > &vertices)

Protected Member Functions

 Arb8 ()
 Arb8 (const Arb8 &rhs)

Detailed Description

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.

Constructor & Destructor Documentation

◆ 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
hzhalf-length along the z axis in mm
verticesvector 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

Definition at line 325 of file Arb8.cxx.

◆ Arb8() [3/4]

Geant4GM::Arb8::Arb8 ( )
protected

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.

Member Function Documentation

◆ 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

Return the name of this solid.

Implements VGM::IArb8.

Definition at line 433 of file Arb8.cxx.

◆ NofVertices()

int Geant4GM::Arb8::NofVertices ( ) const
virtual

Return the number of vertices.

Implements VGM::IArb8.

Definition at line 439 of file Arb8.cxx.

◆ Vertex()

VGM::TwoVector Geant4GM::Arb8::Vertex ( int index) const
virtual

Return the index-th vertex.

Implements VGM::IArb8.

Definition at line 442 of file Arb8.cxx.

◆ TwistAngle()

double Geant4GM::Arb8::TwistAngle ( int index) const
virtual

Return the index-th twist angle.

Implements VGM::IArb8.

Definition at line 454 of file Arb8.cxx.

◆ 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: