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

Geometry parameters of HAPD. More...

#include <ARICHGeoMirrors.h>

Inheritance diagram for ARICHGeoMirrors:
Collaboration diagram for ARICHGeoMirrors:

Public Member Functions

 ARICHGeoMirrors ()
 Default constructor.
 
bool isConsistent () const override
 Consistency check of geometry parameters.
 
void print (const std::string &title="Mirror configuration parameters") const override
 Print the content of the class. More...
 
void setMirrorPlate (double thick, double width, double length, const std::string &material, const GeoOpticalSurface &surf)
 Set parameters of mirror plate. More...
 
void setNMirrors (unsigned nmir)
 Set number of mirror plates (slots) More...
 
void setRadius (double r)
 Set nominal radius at which mirror plates are placed (center of plate) More...
 
void setStartAngle (double stang)
 Set phi angle of position of the first mirror plate. More...
 
void setZPosition (double zPos)
 Set nominal Z position of mirror plates (center point in ARICH local frame) More...
 
double getZPosition () const
 Get nominal Z position of mirror plates (center point in ARICH local frame) More...
 
double getRadius () const
 Get nominal radius at which mirror plates are placed (center of plate) More...
 
double getStartAngle () const
 Get phi angle of position of the first mirror plate. More...
 
double getPlateThickness () const
 Get thickness of mirror plate. More...
 
double getPlateWidth () const
 Get width of mirror plate. More...
 
double getPlateLength () const
 Get length of mirror plate. More...
 
unsigned getNMirrors () const
 Get number of mirror plates. More...
 
void setMirrorNormVector (unsigned mirID, double x, double y, double z)
 Set normal vector of the i-th mirror plate surface. More...
 
void setMirrorPoint (unsigned mirID, double x, double y, double z)
 Set vector to the center point of the mirror plate reflective surface. More...
 
const std::string & getMaterial () const
 Get material name of mirror plates. More...
 
const GeoOpticalSurfacegetMirrorSurface () const
 Returns mirror reflective optical surface. More...
 
const TVector3 & getNormVector (const unsigned mirID) const
 Get normal vector of the i-th mirror plate surface. More...
 
const TVector3 & getPoint (const unsigned mirID) const
 Get vector to the center point of the mirror plate reflective surface. More...
 
void initializeDefault ()
 Initializes default mirror position parameters (assuming plate position on the regular m_nMirrors-sided polygon, with radius m_radius and with the first mirror plate positioned at m_startAngle)
 
void setInstalled (unsigned mirID, bool installed)
 Set mirror plate installed/not installed (only installed plates are placed) More...
 
bool isInstalled (unsigned mirID) const
 Check if i-th mirror plate is installed. More...
 
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 (ARICHGeoMirrors, 1)
 ClassDef.
 

Private Attributes

std::vector< TVector3 > m_normVector
 vector of normal vectors of all mirror plates
 
std::vector< TVector3 > m_point
 vector of points on the reflective surface of all mirror plates
 
std::vector< bool > m_installed
 vector of installed/not installed flags of all mirror plates
 
std::string m_material
 material of mirror plates
 
double m_z = 0
 nominal Z position of mirror plates
 
double m_radius = 0
 nominal radius at which mirror plates are placed
 
double m_startAngle = 0
 phi angle of the center of the 1st mirror plate
 
double m_plateThickness = 0
 thickness of mirror plate
 
double m_plateWidth = 0
 width of mirror plate
 
double m_plateLength = 0
 length of mirror plate
 
unsigned m_nMirrors = 0
 number of mirror plates (slots)
 
GeoOpticalSurface m_surface
 optical surface of mirror plates
 

Detailed Description

Geometry parameters of HAPD.

Definition at line 30 of file ARICHGeoMirrors.h.

Member Function Documentation

◆ getMaterial()

const std::string& getMaterial ( ) const
inline

Get material name of mirror plates.

Returns
material name

Definition at line 164 of file ARICHGeoMirrors.h.

164 {return m_material;}
std::string m_material
material of mirror plates

◆ getMirrorSurface()

const GeoOpticalSurface& getMirrorSurface ( ) const
inline

Returns mirror reflective optical surface.

Returns
optical surface

Definition at line 170 of file ARICHGeoMirrors.h.

◆ getName()

const std::string& getName ( ) const
inlineinherited

Returns object name.

Returns
object name

Definition at line 49 of file ARICHGeoBase.h.

◆ getNMirrors()

unsigned getNMirrors ( ) const
inline

Get number of mirror plates.

Returns
number of mirror plates

Definition at line 132 of file ARICHGeoMirrors.h.

◆ getNormVector()

const TVector3& getNormVector ( const unsigned  mirID) const
inline

Get normal vector of the i-th mirror plate surface.

Parameters
mirIDmirror ID
Returns
nomrmal vector of the mirID mirror plate

Definition at line 177 of file ARICHGeoMirrors.h.

◆ getPlateLength()

double getPlateLength ( ) const
inline

Get length of mirror plate.

Returns
mirror plate length

Definition at line 126 of file ARICHGeoMirrors.h.

◆ getPlateThickness()

double getPlateThickness ( ) const
inline

Get thickness of mirror plate.

Returns
mirror plate thickness

Definition at line 114 of file ARICHGeoMirrors.h.

◆ getPlateWidth()

double getPlateWidth ( ) const
inline

Get width of mirror plate.

Returns
mirror plate width

Definition at line 120 of file ARICHGeoMirrors.h.

◆ getPoint()

const TVector3& getPoint ( const unsigned  mirID) const
inline

Get vector to the center point of the mirror plate reflective surface.

Parameters
mirIDmirror ID
Returns
vector to the center point of mirID mirror plate

Definition at line 188 of file ARICHGeoMirrors.h.

◆ getRadius()

double getRadius ( ) const
inline

Get nominal radius at which mirror plates are placed (center of plate)

Returns
radius of mirror placement

Definition at line 102 of file ARICHGeoMirrors.h.

◆ getStartAngle()

double getStartAngle ( ) const
inline

Get phi angle of position of the first mirror plate.

Returns
phi angle of position of the first mirror plate

Definition at line 108 of file ARICHGeoMirrors.h.

◆ getZPosition()

double getZPosition ( ) const
inline

Get nominal Z position of mirror plates (center point in ARICH local frame)

Returns
Z position of mirror plates

Definition at line 96 of file ARICHGeoMirrors.h.

◆ isInstalled()

bool isInstalled ( unsigned  mirID) const
inline

Check if i-th mirror plate is installed.

Parameters
mirIDmirror plate ID
Returns
true if installed

Definition at line 216 of file ARICHGeoMirrors.h.

◆ print()

void print ( const std::string &  title = "Mirror configuration parameters") const
overridevirtual

Print the content of the class.

Parameters
titletitle to be printed

Reimplemented from ARICHGeoBase.

Definition at line 48 of file ARICHGeoMirrors.cc.

49 {
50  ARICHGeoBase::print(title);
51  cout << " mirror plate:" << endl;
52  cout << " thickness: " << getPlateThickness() << " " << s_unitName << ", width: " << getPlateWidth() << " " << s_unitName <<
53  ", length: "
54  << getPlateLength() << " " << s_unitName << endl;
55  cout << " material: " << getMaterial() << endl;
56  cout << " number of plates: " << getNMirrors() << endl;
57  cout << " nominal phi angle of 1st plate: " << getStartAngle() << endl;
58  cout << " nominal radius at which plates are placed: " << getRadius() << " " << s_unitName << endl;
59  cout << " nominal Z position of plates: " << getZPosition() << " " << s_unitName << endl;
60 
61  cout << " installed plates " << endl;
62 
63  cout << " ID: ";
64  for (unsigned imir = 1; imir < getNMirrors() + 1; imir++) {
65  cout << setw(3) << imir << " ";
66  }
67  cout << endl;
68  cout << " flag: ";
69  for (unsigned imir = 1; imir < getNMirrors() + 1; imir++) {
70  cout << setw(3) << isInstalled(imir) << " ";
71  }
72  cout << endl;
73 
75 }
virtual void printSurface(const GeoOpticalSurface &surface) const
Print the content of optical surface.
Definition: ARICHGeoBase.cc:32
virtual void print(const std::string &title) const
Print the content of the class.
Definition: ARICHGeoBase.cc:20
static std::string s_unitName
conversion unit name
Definition: ARICHGeoBase.h:84
double getZPosition() const
Get nominal Z position of mirror plates (center point in ARICH local frame)
unsigned getNMirrors() const
Get number of mirror plates.
double getPlateWidth() const
Get width of mirror plate.
GeoOpticalSurface m_surface
optical surface of mirror plates
const std::string & getMaterial() const
Get material name of mirror plates.
double getPlateLength() const
Get length of mirror plate.
double getRadius() const
Get nominal radius at which mirror plates are placed (center of plate)
double getStartAngle() const
Get phi angle of position of the first mirror plate.
bool isInstalled(unsigned mirID) const
Check if i-th mirror plate is installed.
double getPlateThickness() const
Get thickness of mirror plate.

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

◆ setInstalled()

void setInstalled ( unsigned  mirID,
bool  installed 
)
inline

Set mirror plate installed/not installed (only installed plates are placed)

Parameters
mirIDmirror plate ID
installedtrue if installed

Definition at line 205 of file ARICHGeoMirrors.h.

◆ setMirrorNormVector()

void setMirrorNormVector ( unsigned  mirID,
double  x,
double  y,
double  z 
)
inline

Set normal vector of the i-th mirror plate surface.

Parameters
mirIDmirror ID
xx component
yy component
zz component

Definition at line 141 of file ARICHGeoMirrors.h.

◆ setMirrorPlate()

void setMirrorPlate ( double  thick,
double  width,
double  length,
const std::string &  material,
const GeoOpticalSurface surf 
)
inline

Set parameters of mirror plate.

Parameters
thickthickness
widthwidth
lengthlength
materialmaterial name
surfoptical surface

Definition at line 59 of file ARICHGeoMirrors.h.

◆ setMirrorPoint()

void setMirrorPoint ( unsigned  mirID,
double  x,
double  y,
double  z 
)
inline

Set vector to the center point of the mirror plate reflective surface.

Parameters
mirIDmirror ID
xx component
yy component
zz component

Definition at line 154 of file ARICHGeoMirrors.h.

◆ setName()

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

Sets object name.

Parameters
nameobject name

Definition at line 43 of file ARICHGeoBase.h.

◆ setNMirrors()

void setNMirrors ( unsigned  nmir)
inline

Set number of mirror plates (slots)

Parameters
nmirnumber of mirror plates (slots)

Definition at line 72 of file ARICHGeoMirrors.h.

◆ setRadius()

void setRadius ( double  r)
inline

Set nominal radius at which mirror plates are placed (center of plate)

Parameters
rradius of mirror placement

Definition at line 78 of file ARICHGeoMirrors.h.

◆ setStartAngle()

void setStartAngle ( double  stang)
inline

Set phi angle of position of the first mirror plate.

Parameters
stangphi angle of position of the first mirror plate

Definition at line 84 of file ARICHGeoMirrors.h.

◆ setZPosition()

void setZPosition ( double  zPos)
inline

Set nominal Z position of mirror plates (center point in ARICH local frame)

Parameters
zPosZ position of mirror plates

Definition at line 90 of file ARICHGeoMirrors.h.


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