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

VGM implementation for Root Arb8 solid. More...

#include <Arb8.h>

Inheritance diagram for RootGM::Arb8:

Public Member Functions

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

Protected Member Functions

 Arb8 ()
 
 Arb8 (const Arb8 &rhs)
 

Protected Attributes

TGeoArb8 * fArb8
 

Static Protected Attributes

static const int fgkNofVertices = 8
 

Detailed Description

VGM implementation for Root Arb8 solid.

Author
Ivana Hrivnacova; IPN Orsay

Definition at line 32 of file Arb8.h.

Constructor & Destructor Documentation

◆ Arb8() [1/4]

RootGM::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 33 of file Arb8.cxx.

◆ Arb8() [2/4]

RootGM::Arb8::Arb8 ( TGeoArb8 * arb8)

Standard constructor to define Arb8 from Root object

Definition at line 71 of file Arb8.cxx.

◆ ~Arb8()

RootGM::Arb8::~Arb8 ( )
virtual

Definition at line 93 of file Arb8.cxx.

◆ Arb8() [3/4]

RootGM::Arb8::Arb8 ( )
protected

Protected default constructor

Definition at line 80 of file Arb8.cxx.

◆ Arb8() [4/4]

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

Protected copy constructor

Definition at line 86 of file Arb8.cxx.

Member Function Documentation

◆ Name()

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

Return the name of this solid.

Implements VGM::IArb8.

Definition at line 99 of file Arb8.cxx.

◆ NofVertices()

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

Return the number of vertices.

Implements VGM::IArb8.

Definition at line 102 of file Arb8.cxx.

◆ Vertex()

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

Return the index-th vertex.

Implements VGM::IArb8.

Definition at line 105 of file Arb8.cxx.

◆ TwistAngle()

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

Return the index-th twist angle.

Implements VGM::IArb8.

Definition at line 125 of file Arb8.cxx.

◆ ZHalfLength()

double RootGM::Arb8::ZHalfLength ( ) const
virtual

Return the half-length along the z axis in mm.

Implements VGM::IArb8.

Definition at line 139 of file Arb8.cxx.

Member Data Documentation

◆ fgkNofVertices

const int RootGM::Arb8::fgkNofVertices = 8
staticprotected

Definition at line 51 of file Arb8.h.

◆ fArb8

TGeoArb8* RootGM::Arb8::fArb8
protected

Definition at line 53 of file Arb8.h.


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