Belle II Software  release-08-01-10
ARICHGeoSupport Class Reference

Geometry parameters of ARICH support structures and neutron shield. More...

#include <ARICHGeoSupport.h>

Inheritance diagram for ARICHGeoSupport:
Collaboration diagram for ARICHGeoSupport:

Classes

struct  box
 Struct to hold parameters of box volumes (examples, scintilators for cosmic test) More...
 
struct  tube
 Struct to hold tube parameters. More...
 
struct  wedge
 Struct to hold wedge parameters. More...
 

Public Member Functions

 ARICHGeoSupport ()
 Default constructor.
 
bool isConsistent () const override
 Consistency check of geometry parameters. More...
 
void print (const std::string &title="Parameters of ARICH support structure and neutron shield") const override
 Print the content of the class. More...
 
void setWedge (unsigned i, const std::vector< double > &par)
 Set parameters of support wedge volumes. More...
 
void addWedge (int type, double r, double phi, double z, const std::string &material)
 Add wedge (all added wedges are placed) More...
 
void setMaterial (const std::string &material)
 Set default material of support structures. More...
 
void addTube (double inR, double outR, double length, double zPosition, const std::string &material, const std::string &name)
 Add volume of cylindrical shape (tube) More...
 
unsigned getNTubes () const
 Get number of tube volumes to be placed. More...
 
double getTubeInnerR (unsigned i) const
 Get tube inner radius. More...
 
double getTubeOuterR (unsigned i) const
 Get tube outer radius. More...
 
double getTubeLength (unsigned i) const
 Get tube length. More...
 
double getTubeZPosition (unsigned i) const
 Get tube Z position. More...
 
unsigned getNWedges () const
 Get number of wedges to be placed. More...
 
int getWedgeType (unsigned i) const
 Get type of i-th wedge. More...
 
double getWedgeR (unsigned i) const
 Get radius at which i-th wedge is placed. More...
 
double getWedgePhi (unsigned i) const
 Get phi angle at which i-th wedge is placed. More...
 
double getWedgeZ (unsigned i) const
 Get Z position of i-th wedge. More...
 
const std::string & getTubeMaterial (unsigned i) const
 Get material of i-th tube. More...
 
const std::string & getWedgeMaterial (unsigned i) const
 Get material of i-th wedge. More...
 
const std::string & getTubeName (unsigned i) const
 Get name of i-th tube. More...
 
const std::string & getMaterial () const
 Get default material of support structures. More...
 
const std::vector< double > getWedge (unsigned i) const
 Get parameters of wedge. More...
 
void addBox (const std::string &name, const std::string &material, double size[3], double position[3], double rotation[3])
 Add box volume. More...
 
void setBox (int i, const std::string &name, const std::string &material, double size[3], double position[3], double rotation[3])
 Re-set parameters of existing box. More...
 
unsigned getNBoxes () const
 Get number of box volumes. More...
 
box getBox (unsigned i) const
 Get box paramaters. More...
 
void clearBoxes ()
 Clear container of boxes.
 
void setName (const std::string &name)
 Sets object name. More...
 
const std::string & getName () const
 Returns object name. More...
 
virtual void printSurface (const GeoOpticalSurface &surface) const
 Print the content of optical surface. More...
 
virtual void printPlacement (double x, double y, double z, double rx, double ry, double rz) const
 Print volume positioning parameters. More...
 

Protected Member Functions

 ClassDef (ARICHGeoBase, 2)
 ClassDef.
 

Protected Attributes

std::string m_name
 geometry object name
 

Static Protected Attributes

static double s_unit = Unit::cm
 conversion unit for length
 
static std::string s_unitName
 conversion unit name
 

Private Member Functions

 ClassDefOverride (ARICHGeoSupport, 1)
 ClassDef.
 

Private Attributes

std::vector< tubem_tubes
 vector of tube volumes to be placed
 
std::string m_material
 default material of support structure
 
std::vector< double > m_wedgePar [m_nWedgeType]
 parameters of support wedges (joints)
 
std::vector< wedgem_wedges
 vector of wedge volumes to be placed
 
std::vector< boxm_boxes
 vector of box volumes to be places
 

Static Private Attributes

static const unsigned m_nWedgeType = 3
 number of wedge types
 

Detailed Description

Geometry parameters of ARICH support structures and neutron shield.

Definition at line 25 of file ARICHGeoSupport.h.

Member Function Documentation

◆ addBox()

void addBox ( const std::string &  name,
const std::string &  material,
double  size[3],
double  position[3],
double  rotation[3] 
)
inline

Add box volume.

Parameters
namevolume name
materialvolume material
sizearray of side sizes
positionarray of x,y,z position
rotationarray of x,y,z rotations

Definition at line 229 of file ARICHGeoSupport.h.

230  {
231  m_boxes.push_back({{size[0], size[1], size[2]}, {position[0], position[1], position[2]}, {rotation[0], rotation[1], rotation[2]}, name, material});
232  }
std::vector< box > m_boxes
vector of box volumes to be places

◆ addTube()

void addTube ( double  inR,
double  outR,
double  length,
double  zPosition,
const std::string &  material,
const std::string &  name 
)
inline

Add volume of cylindrical shape (tube)

Parameters
inRinner radius
outRouter radius
lengthlength
zPositionZ position of start of tube (in ARICH frame)

Definition at line 114 of file ARICHGeoSupport.h.

◆ addWedge()

void addWedge ( int  type,
double  r,
double  phi,
double  z,
const std::string &  material 
)
inline

Add wedge (all added wedges are placed)

Parameters
typewedge type ID (1-3)
rradius at which wedge is placed
phiphi angle at which wedge is placed
zz position of wedge (in ARICH frame)
materialwedge material

Definition at line 96 of file ARICHGeoSupport.h.

◆ getBox()

box getBox ( unsigned  i) const
inline

Get box paramaters.

Parameters
ibox index
Returns
box parameters

Definition at line 262 of file ARICHGeoSupport.h.

◆ getMaterial()

const std::string& getMaterial ( ) const
inline

Get default material of support structures.

Returns
default material name

Definition at line 212 of file ARICHGeoSupport.h.

◆ getName()

const std::string& getName ( ) const
inlineinherited

Returns object name.

Returns
object name

Definition at line 49 of file ARICHGeoBase.h.

◆ getNBoxes()

unsigned getNBoxes ( ) const
inline

Get number of box volumes.

Returns
number of box volumes

Definition at line 252 of file ARICHGeoSupport.h.

◆ getNTubes()

unsigned getNTubes ( ) const
inline

Get number of tube volumes to be placed.

Returns
number of tube volumes

Definition at line 123 of file ARICHGeoSupport.h.

◆ getNWedges()

unsigned getNWedges ( ) const
inline

Get number of wedges to be placed.

Returns
number of wedges

Definition at line 157 of file ARICHGeoSupport.h.

◆ getTubeInnerR()

double getTubeInnerR ( unsigned  i) const
inline

Get tube inner radius.

Parameters
itube index
Returns
tube inner radius

Definition at line 130 of file ARICHGeoSupport.h.

◆ getTubeLength()

double getTubeLength ( unsigned  i) const
inline

Get tube length.

Parameters
itube index
Returns
tube length

Definition at line 144 of file ARICHGeoSupport.h.

◆ getTubeMaterial()

const std::string& getTubeMaterial ( unsigned  i) const
inline

Get material of i-th tube.

Parameters
itube index
Returns
material name

Definition at line 192 of file ARICHGeoSupport.h.

◆ getTubeName()

const std::string& getTubeName ( unsigned  i) const
inline

Get name of i-th tube.

Parameters
itube index
Returns
volume name

Definition at line 206 of file ARICHGeoSupport.h.

◆ getTubeOuterR()

double getTubeOuterR ( unsigned  i) const
inline

Get tube outer radius.

Parameters
itube index
Returns
tube outer radius

Definition at line 137 of file ARICHGeoSupport.h.

◆ getTubeZPosition()

double getTubeZPosition ( unsigned  i) const
inline

Get tube Z position.

Parameters
itube index
Returns
tube Z position (start point in ARICH frame)

Definition at line 151 of file ARICHGeoSupport.h.

◆ getWedge()

const std::vector<double> getWedge ( unsigned  i) const
inline

Get parameters of wedge.

Parameters
iwedge type
Returns
vector of wedge parameters

Definition at line 219 of file ARICHGeoSupport.h.

◆ getWedgeMaterial()

const std::string& getWedgeMaterial ( unsigned  i) const
inline

Get material of i-th wedge.

Parameters
iwedge index
Returns
material name

Definition at line 199 of file ARICHGeoSupport.h.

◆ getWedgePhi()

double getWedgePhi ( unsigned  i) const
inline

Get phi angle at which i-th wedge is placed.

Parameters
iwedge index
Returns
wedge phi position

Definition at line 178 of file ARICHGeoSupport.h.

◆ getWedgeR()

double getWedgeR ( unsigned  i) const
inline

Get radius at which i-th wedge is placed.

Parameters
iwedge index
Returns
wedge radius

Definition at line 171 of file ARICHGeoSupport.h.

◆ getWedgeType()

int getWedgeType ( unsigned  i) const
inline

Get type of i-th wedge.

Parameters
iwedge index
Returns
wedge type

Definition at line 164 of file ARICHGeoSupport.h.

◆ getWedgeZ()

double getWedgeZ ( unsigned  i) const
inline

Get Z position of i-th wedge.

Parameters
iwedge index
Returns
wedge Z position

Definition at line 185 of file ARICHGeoSupport.h.

◆ isConsistent()

bool isConsistent ( ) const
overridevirtual

Consistency check of geometry parameters.

Returns
true if consistent

Reimplemented from ARICHGeoBase.

Definition at line 17 of file ARICHGeoSupport.cc.

18 {
19  return true;
20 }

◆ print()

void print ( const std::string &  title = "Parameters of ARICH support structure and neutron shield") const
overridevirtual

Print the content of the class.

Parameters
titletitle to be printed

Reimplemented from ARICHGeoBase.

Definition at line 23 of file ARICHGeoSupport.cc.

◆ printPlacement()

void printPlacement ( double  x,
double  y,
double  z,
double  rx,
double  ry,
double  rz 
) const
virtualinherited

Print volume positioning parameters.

Parameters
xx position
yy position
zz position
rxrotation around x-axis
ryrotation around y-axis
rzrotation around z-axis

Definition at line 25 of file ARICHGeoBase.cc.

◆ printSurface()

void printSurface ( const GeoOpticalSurface surface) const
virtualinherited

Print the content of optical surface.

Parameters
surfaceoptical surface parameters

Definition at line 32 of file ARICHGeoBase.cc.

◆ setBox()

void setBox ( int  i,
const std::string &  name,
const std::string &  material,
double  size[3],
double  position[3],
double  rotation[3] 
)
inline

Re-set parameters of existing box.

Parameters
ibox index
namevolume name
materialvolume material
sizearray of side sizes
positionarray of x,y,z position
rotationarray of x,y,z rotations

Definition at line 243 of file ARICHGeoSupport.h.

◆ setMaterial()

void setMaterial ( const std::string &  material)
inline

Set default material of support structures.

Parameters
materialname of default material

Definition at line 105 of file ARICHGeoSupport.h.

◆ setName()

void setName ( const std::string &  name)
inlineinherited

Sets object name.

Parameters
nameobject name

Definition at line 43 of file ARICHGeoBase.h.

◆ setWedge()

void setWedge ( unsigned  i,
const std::vector< double > &  par 
)
inline

Set parameters of support wedge volumes.

Parameters
iwedge type ID (1-3)
parvector of wedge parameters

Definition at line 86 of file ARICHGeoSupport.h.


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