Belle II Software development
ARICHGeoDetectorPlane Class Reference

Geometry parameters of ARICH photon detector plane. More...

#include <ARICHGeoDetectorPlane.h>

Inheritance diagram for ARICHGeoDetectorPlane:
ARICHGeoBase

Public Member Functions

 ARICHGeoDetectorPlane ()
 Default constructor.
 
bool isConsistent () const override
 Check if parameters are consistent.
 
void print (const std::string &title="Detector plane parameters") const override
 Print the content of the class.
 
void setPlacement (double x, double y, double z, double rx, double ry, double rz)
 Set detector plane positioning within ARICH local volume.
 
void addSupportPlate (double inR, double outR, double thick, const std::string &material)
 Set parameters of the support plate.
 
void setModuleHoleSize (double hsize)
 Set size of module hole in support plate.
 
void setSupportBackWallHeight (double h)
 Set height of the aluminum walls between modules on the electronics side of aluminum support plate.
 
void setSupportBackWallThickness (double d)
 Set thickness of the aluminum walls between modules on the electronics side of the aluminum support plate.
 
void setSupportZPosition (double zPosition)
 Set Z position of the aluminum support plate (start Z).
 
void setRingPar (const std::vector< std::pair< double, double > > &ringPar)
 Set parameters of module slot rings (r of center of slots in ring, phi (angle) distance between module slots).
 
ROOT::Math::XYZVector getPosition () const
 Get center point.
 
ROOT::Math::Rotation3D getRotation () const
 Get rotation matrix.
 
double getRotationX () const
 Get angle of rotation around X axis.
 
double getRotationY () const
 Get angle of rotation around Y axis.
 
double getRotationZ () const
 Get angle of rotation around Z axis.
 
double getSupportInnerR () const
 Get support plate inner radius.
 
double getSupportOuterR () const
 Get support plate outer radius.
 
double getSupportThickness () const
 Get support plate thickness.
 
double getSupportZPosition () const
 Get Z position of support plate (start point in Z).
 
double getModuleHoleSize () const
 Get size of module hole in support plate.
 
double getSupportBackWallHeight () const
 Get height of the aluminum walls between modules on the electronics side of aluminum support plate.
 
double getSupportBackWallThickness () const
 Get thickness of aluminum walls between modules on the electronics side of aluminum support plate.
 
const std::string & getSupportMaterial () const
 Get material of support plate.
 
double getRingR (unsigned iRing) const
 Get radius of i-th module slot ring (radius of center point).
 
double getRingDPhi (unsigned iRing) const
 Get phi (angle) distance between module slots in i-th ring.
 
double getSlotR (unsigned modID) const
 Get radial position of module with given module ID number.
 
double getSlotPhi (unsigned modID) const
 Get phi (angle) position of module with given module ID number.
 
unsigned getNSlots () const
 Get total number of module slots.
 
unsigned getNRings () const
 Get number of module slot rings.
 
unsigned getSlotRing (unsigned slotID) const
 Get ring number of slot with slot ID.
 
unsigned pointSlotID (double x, double y) const
 Get slot ID based on x-y coordinates.
 
unsigned getSlotIDFromSRF (unsigned sector, unsigned ring, unsigned azimuth) const
 Get slot ID based on sector, ring, and azimuth.
 
void setName (const std::string &name)
 Sets object name.
 
const std::string & getName () const
 Returns object name.
 
virtual void printSurface (const GeoOpticalSurface &surface) const
 Print the content of optical surface.
 
virtual void printPlacement (double x, double y, double z, double rx, double ry, double rz) const
 Print volume positioning parameters.
 

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 (ARICHGeoDetectorPlane, 1)
 ClassDef.
 

Private Attributes

std::vector< std::pair< double, double > > m_ringPar
 parameters of module rings (radius, dPhi)
 
std::vector< std::pair< double, double > > m_slotPar
 parameters of all module slots (radius, phi)
 
double m_x = 0
 x position in local ARICH volume
 
double m_y = 0
 y position in local ARICH volume
 
double m_z
 z position in local ARICH volume (position of center of detector plane tube, with Z length of: module height)
 
double m_rx = 0
 rotation around x axis
 
double m_ry = 0
 rotation around y axis
 
double m_rz = 0
 rotation around z axis
 
std::string m_supportMaterial
 support structure material
 
double m_innerR = 0
 inner radius of support plate
 
double m_outerR = 0
 outer radius of support plate
 
double m_thickness = 0
 thickness of support plate
 
double m_moduleHoleSize = 0
 size of module hole in support plate
 
double m_supportBackWallHeight = 0
 height of aluminum walls on the back side (electronics side) of support plate
 
double m_supportBackWallThickness = 0
 < thickness of aluminum walls on the back side (electronics side) of support plate
 
double m_supportZPosition
 Z position of support plate (position of center of support tube, with Z length of: support plate thickness + support back wall height)
 
unsigned m_nRings = 0
 number of HAPD module rings
 
unsigned m_nSlots = 0
 number of HAPD module slots
 

Detailed Description

Geometry parameters of ARICH photon detector plane.

Definition at line 30 of file ARICHGeoDetectorPlane.h.

Constructor & Destructor Documentation

◆ ARICHGeoDetectorPlane()

Default constructor.

Definition at line 37 of file ARICHGeoDetectorPlane.h.

38 {};

Member Function Documentation

◆ addSupportPlate()

void addSupportPlate ( double  inR,
double  outR,
double  thick,
const std::string &  material 
)
inline

Set parameters of the support plate.

Parameters
[in]inRTube inner radius.
[in]outRTube outer radius.
[in]thickTube length.
[in]materialTube material.

Definition at line 71 of file ARICHGeoDetectorPlane.h.

72 {
73 m_innerR = inR;
74 m_outerR = outR;
75 m_thickness = thick;
76 m_supportMaterial = material;
77 };
double m_innerR
inner radius of support plate
std::string m_supportMaterial
support structure material
double m_thickness
thickness of support plate
double m_outerR
outer radius of support plate

◆ getModuleHoleSize()

double getModuleHoleSize ( ) const
inline

Get size of module hole in support plate.

Returns
Module hole size.

Definition at line 181 of file ARICHGeoDetectorPlane.h.

181{return m_moduleHoleSize / s_unit;};
static double s_unit
conversion unit for length
Definition: ARICHGeoBase.h:83
double m_moduleHoleSize
size of module hole in support plate

◆ getName()

const std::string & getName ( ) const
inlineinherited

Returns object name.

Returns
object name

Definition at line 49 of file ARICHGeoBase.h.

49{return m_name;}
std::string m_name
geometry object name
Definition: ARICHGeoBase.h:82

◆ getNRings()

unsigned getNRings ( ) const
inline

Get number of module slot rings.

Returns
Number of module slot rings

Definition at line 241 of file ARICHGeoDetectorPlane.h.

241{return m_nRings;}
unsigned m_nRings
number of HAPD module rings

◆ getNSlots()

unsigned getNSlots ( ) const
inline

Get total number of module slots.

Returns
Total number of module slots.

Definition at line 235 of file ARICHGeoDetectorPlane.h.

235{return m_nSlots;}
unsigned m_nSlots
number of HAPD module slots

◆ getPosition()

ROOT::Math::XYZVector getPosition ( ) const
inline

Get center point.

Returns
Center point (ROOT::Math::XYZVector)

Definition at line 119 of file ARICHGeoDetectorPlane.h.

119{return ROOT::Math::XYZVector(m_x / s_unit, m_y / s_unit, m_z / s_unit);}
double m_x
x position in local ARICH volume
double m_z
z position in local ARICH volume (position of center of detector plane tube, with Z length of: module...
double m_y
y position in local ARICH volume

◆ getRingDPhi()

double getRingDPhi ( unsigned  iRing) const
inline

Get phi (angle) distance between module slots in i-th ring.

Parameters
[in]iRingModule slot ring number.
Returns
Phi (angle) distance between module slots.

Definition at line 215 of file ARICHGeoDetectorPlane.h.

215{ if (iRing == 0 || iRing > m_nRings) B2ERROR("ARICHGeoDetectorPlane: invalid module ring number!"); return m_ringPar[iRing - 1].second;}
std::vector< std::pair< double, double > > m_ringPar
parameters of module rings (radius, dPhi)

◆ getRingR()

double getRingR ( unsigned  iRing) const
inline

Get radius of i-th module slot ring (radius of center point).

Parameters
[in]iRingModule slot ring number.
Returns
Radius of module slot ring.

Definition at line 208 of file ARICHGeoDetectorPlane.h.

208{ if (iRing == 0 || iRing > m_nRings) B2ERROR("ARICHGeoDetectorPlane: invalid module ring number!"); return m_ringPar[iRing - 1].first / s_unit;}

◆ getRotation()

ROOT::Math::Rotation3D getRotation ( ) const
inline

Get rotation matrix.

Returns
Rotation matrix (ROOT::Math::Rotation3D)

Definition at line 125 of file ARICHGeoDetectorPlane.h.

126 {
127 ROOT::Math::Rotation3D rot;
128 ROOT::Math::RotationX rotX(m_rx);
129 ROOT::Math::RotationY rotY(m_ry);
130 ROOT::Math::RotationZ rotZ(m_rz);
131 rot *= rotZ * rotY * rotX;
132 return rot;
133 }
double m_ry
rotation around y axis
double m_rz
rotation around z axis
double m_rx
rotation around x axis

◆ getRotationX()

double getRotationX ( ) const
inline

Get angle of rotation around X axis.

Returns
Rotation angle arounx X axis.

Definition at line 139 of file ARICHGeoDetectorPlane.h.

139{return m_rx;}

◆ getRotationY()

double getRotationY ( ) const
inline

Get angle of rotation around Y axis.

Returns
Rotation angle arounx Y axis.

Definition at line 145 of file ARICHGeoDetectorPlane.h.

145{return m_ry;}

◆ getRotationZ()

double getRotationZ ( ) const
inline

Get angle of rotation around Z axis.

Returns
Rotation angle arounx Z axis.

Definition at line 151 of file ARICHGeoDetectorPlane.h.

151{return m_rz;}

◆ getSlotIDFromSRF()

unsigned getSlotIDFromSRF ( unsigned  sector,
unsigned  ring,
unsigned  azimuth 
) const

Get slot ID based on sector, ring, and azimuth.

Parameters
sectorsector
ringring
azimuthazimuth
Returns
slot ID matching sector, ring, and azimuth

Definition at line 81 of file ARICHGeoDetectorPlane.cc.

82{
83
84 if (azimuth > static_cast<unsigned>(2 * M_PI / m_ringPar[ring - 1].second + 0.5) / 6 || ring > getNRings() || sector > 6)
85 { B2ERROR("ARICHGeoDetectorPlane::getSlotIDFromSRF: invalid slot position parameters!"); return 0;}
86
87 unsigned moduleID = 0;
88 for (unsigned i = 1; i < ring; i++) {
89 moduleID += static_cast<int>(2 * M_PI / m_ringPar[i - 1].second + 0.5);
90 }
91 moduleID += (sector - 1) * static_cast<int>(2 * M_PI / m_ringPar[ring - 1].second + 0.5) / 6 + (azimuth - 1);
92 if (moduleID + 1 > m_nSlots) {B2ERROR("ARICHGeoDetectorPlane::getSlotIDFromSRF: invalid slot position parameters!"); return 0;}
93 return moduleID + 1;
94}
unsigned getNRings() const
Get number of module slot rings.

◆ getSlotPhi()

double getSlotPhi ( unsigned  modID) const
inline

Get phi (angle) position of module with given module ID number.

Parameters
[in]modIDModule ID number.
Returns
Phi (angle) position of module.

Definition at line 229 of file ARICHGeoDetectorPlane.h.

229{ if (modID == 0 || modID > m_nSlots) B2ERROR("ARICHGeoDetectorPlane: invalid module ID number!"); return m_slotPar[modID - 1].second;};
std::vector< std::pair< double, double > > m_slotPar
parameters of all module slots (radius, phi)

◆ getSlotR()

double getSlotR ( unsigned  modID) const
inline

Get radial position of module with given module ID number.

Parameters
[in]modIDModule ID number.
Returns
Radial position of module.

Definition at line 222 of file ARICHGeoDetectorPlane.h.

222{ if (modID == 0 || modID > m_nSlots) B2ERROR("ARICHGeoDetectorPlane: invalid module ID number!"); return m_slotPar[modID - 1].first / s_unit;};

◆ getSlotRing()

unsigned getSlotRing ( unsigned  slotID) const

Get ring number of slot with slot ID.

Parameters
[in]slotIDslot ID.
Returns
Ring number of slot.

Definition at line 33 of file ARICHGeoDetectorPlane.cc.

34{
35
36 if (slotID > m_nSlots) B2ERROR("ARICHGeoDetectorPlane: invalid module slot ID number!");
37 unsigned iRing = 1;
38 unsigned nSlots = 0;
39 for (auto dphi : m_ringPar) {
40 nSlots += static_cast<int>(2 * M_PI / dphi.second + 0.5);
41 if (slotID < nSlots + 1) return iRing;
42 iRing++;
43 }
44 return 0;
45}

◆ getSupportBackWallHeight()

double getSupportBackWallHeight ( ) const
inline

Get height of the aluminum walls between modules on the electronics side of aluminum support plate.

Returns
Support-plate back wall height.

Definition at line 188 of file ARICHGeoDetectorPlane.h.

double m_supportBackWallHeight
height of aluminum walls on the back side (electronics side) of support plate

◆ getSupportBackWallThickness()

double getSupportBackWallThickness ( ) const
inline

Get thickness of aluminum walls between modules on the electronics side of aluminum support plate.

Returns
Support-plate back wall thickness.

Definition at line 195 of file ARICHGeoDetectorPlane.h.

double m_supportBackWallThickness
< thickness of aluminum walls on the back side (electronics side) of support plate

◆ getSupportInnerR()

double getSupportInnerR ( ) const
inline

Get support plate inner radius.

Returns
Support-plate inner radius.

Definition at line 157 of file ARICHGeoDetectorPlane.h.

157{return m_innerR / s_unit;};

◆ getSupportMaterial()

const std::string & getSupportMaterial ( ) const
inline

Get material of support plate.

Returns
material of support plate.

Definition at line 201 of file ARICHGeoDetectorPlane.h.

201{return m_supportMaterial;}

◆ getSupportOuterR()

double getSupportOuterR ( ) const
inline

Get support plate outer radius.

Returns
Support-plate outer radius.

Definition at line 163 of file ARICHGeoDetectorPlane.h.

163{return m_outerR / s_unit;};

◆ getSupportThickness()

double getSupportThickness ( ) const
inline

Get support plate thickness.

Returns
Support-plate thickness.

Definition at line 169 of file ARICHGeoDetectorPlane.h.

169{return m_thickness / s_unit;};

◆ getSupportZPosition()

double getSupportZPosition ( ) const
inline

Get Z position of support plate (start point in Z).

Returns
Support-plate Z position (start point in Z).

Definition at line 175 of file ARICHGeoDetectorPlane.h.

175{return m_supportZPosition / s_unit;};
double m_supportZPosition
Z position of support plate (position of center of support tube, with Z length of: support plate thic...

◆ isConsistent()

bool isConsistent ( ) const
overridevirtual

Check if parameters are consistent.

Returns
Returns true if true.

Reimplemented from ARICHGeoBase.

Definition at line 69 of file ARICHGeoDetectorPlane.cc.

70{
71 if (m_outerR < m_innerR) return false;
72 if (m_thickness <= 0) return false;
73 if (m_moduleHoleSize < 0) return false;
74 if (m_supportBackWallHeight < 0) return false;
75 if (m_supportBackWallThickness < 0) return false;
76 if (m_supportZPosition < 0) return false;
77 if (m_ringPar.size() == 0 || m_slotPar.size() == 0) return false;
78 return true;
79}

◆ pointSlotID()

unsigned pointSlotID ( double  x,
double  y 
) const

Get slot ID based on x-y coordinates.

Parameters
xx-coordinate of point
yy-coordinate of point
Returns
slot ID matching x-y coordinates

Definition at line 48 of file ARICHGeoDetectorPlane.cc.

49{
50 double r = sqrt(x * x + y * y);
51 double phi = atan2(y, x);
52 if (phi < 0) phi += 2 * M_PI;
53 if (r < (m_ringPar[0].first - (m_ringPar[1].first - m_ringPar[0].first) / 2.)) return 0;
54
55 if (r > (m_ringPar[m_nRings - 1].first + (m_ringPar[m_nRings - 1].first - m_ringPar[m_nRings - 2].first) / 2.)) return 0;
56
57 unsigned nslot = 0;
58 for (unsigned i = 1; i < m_nRings; i++) {
59 if (r < (m_ringPar[i - 1].first + m_ringPar[i].first) / 2.) {
60 nslot += phi / m_ringPar[i - 1].second;
61 return nslot + 1;
62 }
63 nslot += static_cast<int>(2 * M_PI / m_ringPar[i - 1].second + 0.5);
64 }
65 nslot += phi / m_ringPar[m_nRings - 1].second;
66 return nslot + 1;
67}
double sqrt(double a)
sqrt for double
Definition: beamHelpers.h:28

◆ print()

void print ( const std::string &  title = "Detector plane parameters") const
overridevirtual

Print the content of the class.

Parameters
[in]titleTitle to be printed.

Reimplemented from ARICHGeoBase.

Definition at line 97 of file ARICHGeoDetectorPlane.cc.

98{
100 cout << "Configuration of module slots:" << endl;
101 int i = 0;
102 cout << " There are " << getNRings() << " module rings." << endl;
103 for (auto ring : m_ringPar) {
104 cout << " ring: " << i + 1 << " has " << static_cast<int>(2 * M_PI / ring.second + 0.5) << " module slots, at radius: " <<
105 ring.first << " cm" << endl;
106 i++;
107 }
108
109 cout << " Support plate inner radius: " << getSupportInnerR() << " " << s_unitName << endl;
110 cout << " Support plate outer radius: " << getSupportOuterR() << " " << s_unitName << endl;
111 cout << " Support plate thickness: " << getSupportThickness() << " " << s_unitName << endl;
112 cout << " Support plate Z position: " << getSupportZPosition() << " " << s_unitName << endl;
113 cout << " Support plate backwalls height: " << getSupportBackWallHeight() << " " << s_unitName << endl;
114 cout << " Support plate backwall thickness: " << getSupportBackWallThickness() << " " << s_unitName << endl;
115 cout << " Support plate module hole size: " << getModuleHoleSize() << " X " << getModuleHoleSize() << " " << s_unitName << endl;
116 cout << " Support plate material: " << getSupportMaterial() << endl;
117
118 cout << "Positioning parameters (in local ARICH frame)" << endl;
120
121}
virtual void printPlacement(double x, double y, double z, double rx, double ry, double rz) const
Print volume positioning parameters.
Definition: ARICHGeoBase.cc:25
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 getSupportBackWallHeight() const
Get height of the aluminum walls between modules on the electronics side of aluminum support plate.
double getSupportBackWallThickness() const
Get thickness of aluminum walls between modules on the electronics side of aluminum support plate.
double getSupportThickness() const
Get support plate thickness.
double getSupportOuterR() const
Get support plate outer radius.
double getSupportZPosition() const
Get Z position of support plate (start point in Z).
double getModuleHoleSize() const
Get size of module hole in support plate.
const std::string & getSupportMaterial() const
Get material of support plate.
double getSupportInnerR() const
Get support plate inner radius.

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

26{
27// cout << "Volume positioning information (inside local ARICH frame)" << endl;
28 cout << " Center position; x: " << x << " " << s_unitName << ", y: " << y << " " << s_unitName << ", z: " << z << " " << s_unitName
29 << endl;
30 cout << " Rotations; x-axis: " << rx << " y-axis: " << ry << " z-axis: " << rz << " (in rad)" << endl;
31}

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

33{
34 cout << " Optical surface: ";
35 if (surface.getName().empty() and !surface.hasProperties()) {
36 cout << "not defined" << endl;
37 return;
38 }
39 cout << surface.getName();
40 cout << ", model: " << surface.getModel();
41 cout << ", finish: " << surface.getFinish();
42 cout << ", type: " << surface.getType();
43 cout << ", value: " << surface.getValue();
44 cout << endl;
45 if (surface.hasProperties()) {
46 for (const auto& property : surface.getProperties()) {
47 cout << " - property: ";
48 cout << property.getName() << " [";
49 for (const auto& value : property.getValues()) cout << value << ", ";
50 cout << "], @[";
51 for (const auto& value : property.getEnergies()) cout << value / Unit::eV << ", ";
52 cout << "] eV" << endl;
53 }
54 } else {
55 cout << " - properties: None" << endl;
56 }
57
58}
const std::string & getName() const
get name of the optical surface
int getFinish() const
get finish of the surface
const std::vector< GeoMaterialProperty > & getProperties() const
get all properties
double getValue() const
get value for the surface condition
int getType() const
get type of the surface
bool hasProperties() const
check if the material has at least one property
int getModel() const
get model for the surface
static const double eV
[electronvolt]
Definition: Unit.h:112

◆ setModuleHoleSize()

void setModuleHoleSize ( double  hsize)
inline

Set size of module hole in support plate.

Parameters
[in]hsizeHole size.

Definition at line 83 of file ARICHGeoDetectorPlane.h.

83{m_moduleHoleSize = hsize;}

◆ setName()

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

Sets object name.

Parameters
nameobject name

Definition at line 43 of file ARICHGeoBase.h.

43{m_name = name;}

◆ setPlacement()

void setPlacement ( double  x,
double  y,
double  z,
double  rx,
double  ry,
double  rz 
)
inline

Set detector plane positioning within ARICH local volume.

Parameters
[in]xX position.
[in]yY position.
[in]zZ position.
[in]rxRotation around x-axis.
[in]ryRotation around y-axis.
[in]rzRotation around z-axis.

Definition at line 62 of file ARICHGeoDetectorPlane.h.

62{m_x = x; m_y = y; m_z = z; m_rx = rx; m_ry = ry; m_rz = rz;}

◆ setRingPar()

void setRingPar ( const std::vector< std::pair< double, double > > &  ringPar)

Set parameters of module slot rings (r of center of slots in ring, phi (angle) distance between module slots).

Parameters
[in]ringParVector of module slot ring radiuses and phi (angle) distance between module slots in ring.

Definition at line 16 of file ARICHGeoDetectorPlane.cc.

17{
18 m_ringPar = ringPar;
19
20 for (auto ring : m_ringPar) {
21 double iPhi = ring.second / 2.;
22 while (iPhi < 2 * M_PI) {
23 m_slotPar.push_back({ring.first, iPhi});
24 iPhi += ring.second;
25 }
26 }
27
28 m_nRings = m_ringPar.size();
29 m_nSlots = m_slotPar.size();
30
31}

◆ setSupportBackWallHeight()

void setSupportBackWallHeight ( double  h)
inline

Set height of the aluminum walls between modules on the electronics side of aluminum support plate.

Parameters
[in]hWall height.

Definition at line 90 of file ARICHGeoDetectorPlane.h.

◆ setSupportBackWallThickness()

void setSupportBackWallThickness ( double  d)
inline

Set thickness of the aluminum walls between modules on the electronics side of the aluminum support plate.

Parameters
[in]dWall thickness.

Definition at line 97 of file ARICHGeoDetectorPlane.h.

◆ setSupportZPosition()

void setSupportZPosition ( double  zPosition)
inline

Set Z position of the aluminum support plate (start Z).

Parameters
[in]zPositionZ position of support plate.

Definition at line 103 of file ARICHGeoDetectorPlane.h.

103{ m_supportZPosition = zPosition; }

Member Data Documentation

◆ m_innerR

double m_innerR = 0
private

inner radius of support plate

Definition at line 286 of file ARICHGeoDetectorPlane.h.

◆ m_moduleHoleSize

double m_moduleHoleSize = 0
private

size of module hole in support plate

Definition at line 289 of file ARICHGeoDetectorPlane.h.

◆ m_name

std::string m_name
protectedinherited

geometry object name

Definition at line 82 of file ARICHGeoBase.h.

◆ m_nRings

unsigned m_nRings = 0
private

number of HAPD module rings

Definition at line 296 of file ARICHGeoDetectorPlane.h.

◆ m_nSlots

unsigned m_nSlots = 0
private

number of HAPD module slots

Definition at line 297 of file ARICHGeoDetectorPlane.h.

◆ m_outerR

double m_outerR = 0
private

outer radius of support plate

Definition at line 287 of file ARICHGeoDetectorPlane.h.

◆ m_ringPar

std::vector<std::pair<double, double> > m_ringPar
private

parameters of module rings (radius, dPhi)

Definition at line 269 of file ARICHGeoDetectorPlane.h.

◆ m_rx

double m_rx = 0
private

rotation around x axis

Definition at line 280 of file ARICHGeoDetectorPlane.h.

◆ m_ry

double m_ry = 0
private

rotation around y axis

Definition at line 281 of file ARICHGeoDetectorPlane.h.

◆ m_rz

double m_rz = 0
private

rotation around z axis

Definition at line 282 of file ARICHGeoDetectorPlane.h.

◆ m_slotPar

std::vector<std::pair<double, double> > m_slotPar
private

parameters of all module slots (radius, phi)

Definition at line 271 of file ARICHGeoDetectorPlane.h.

◆ m_supportBackWallHeight

double m_supportBackWallHeight = 0
private

height of aluminum walls on the back side (electronics side) of support plate

Definition at line 290 of file ARICHGeoDetectorPlane.h.

◆ m_supportBackWallThickness

double m_supportBackWallThickness = 0
private

< thickness of aluminum walls on the back side (electronics side) of support plate

Definition at line 291 of file ARICHGeoDetectorPlane.h.

◆ m_supportMaterial

std::string m_supportMaterial
private

support structure material

Definition at line 285 of file ARICHGeoDetectorPlane.h.

◆ m_supportZPosition

double m_supportZPosition
private
Initial value:
=
0

Z position of support plate (position of center of support tube, with Z length of: support plate thickness + support back wall height)

Definition at line 293 of file ARICHGeoDetectorPlane.h.

◆ m_thickness

double m_thickness = 0
private

thickness of support plate

Definition at line 288 of file ARICHGeoDetectorPlane.h.

◆ m_x

double m_x = 0
private

x position in local ARICH volume

Definition at line 274 of file ARICHGeoDetectorPlane.h.

◆ m_y

double m_y = 0
private

y position in local ARICH volume

Definition at line 275 of file ARICHGeoDetectorPlane.h.

◆ m_z

double m_z
private
Initial value:
=
0

z position in local ARICH volume (position of center of detector plane tube, with Z length of: module height)

Definition at line 276 of file ARICHGeoDetectorPlane.h.

◆ s_unit

double s_unit = Unit::cm
staticprotectedinherited

conversion unit for length

Definition at line 83 of file ARICHGeoBase.h.

◆ s_unitName

std::string s_unitName
staticprotectedinherited

conversion unit name

Definition at line 84 of file ARICHGeoBase.h.


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