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

VGM implementation for Geant4 Arb8 solid, the shape is implemented using G4TessellatedSolid. More...

#include <Arb8.h>

Inheritance diagram for Geant4GM::Arb8:

Public Member Functions

 Arb8 (const std::string &name, double hz, std::vector< VGM::TwoVector > vertices)
 
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)
 

Protected Member Functions

 Arb8 ()
 
 Arb8 (const Arb8 &rhs)
 

Detailed Description

VGM implementation for Geant4 Arb8 solid, the shape is implemented using G4TessellatedSolid.

The twisted shape is not supported.

Author
Ivana Hrivnacova; IPN Orsay

Definition at line 40 of file Arb8.h.

Constructor & Destructor Documentation

◆ Arb8() [1/3]

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 61 of file Arb8.cxx.

◆ ~Arb8()

Geant4GM::Arb8::~Arb8 ( )
virtual

Definition at line 178 of file Arb8.cxx.

◆ Arb8() [2/3]

Geant4GM::Arb8::Arb8 ( )
protected

Protected default constructor

Definition at line 154 of file Arb8.cxx.

◆ Arb8() [3/3]

Geant4GM::Arb8::Arb8 ( const Arb8 & rhs)
protected

Protected copy constructor

Definition at line 166 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 34 of file Arb8.cxx.

◆ Name()

std::string Geant4GM::Arb8::Name ( ) const
virtual

Return the name of this solid.

Implements VGM::IArb8.

Definition at line 286 of file Arb8.cxx.

◆ NofVertices()

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

Return the number of vertices.

Implements VGM::IArb8.

Definition at line 292 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 295 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 307 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 321 of file Arb8.cxx.


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