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

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

#include <ARICHGeoDetectorPlane.h>

Inheritance diagram for ARICHGeoDetectorPlane:
Collaboration diagram for ARICHGeoDetectorPlane:

Public Member Functions

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

Member Function Documentation

◆ addSupportPlate()

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

Set parameters of the support plate.

Parameters
inRtube inner radius
outRtube outer radius
thicktube length
materialtube material

Definition at line 68 of file ARICHGeoDetectorPlane.h.

69  {
70  m_innerR = inR;
71  m_outerR = outR;
72  m_thickness = thick;
73  m_supportMaterial = material;
74  };
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 171 of file ARICHGeoDetectorPlane.h.

◆ getName()

const std::string& getName ( ) const
inlineinherited

Returns object name.

Returns
object name

Definition at line 49 of file ARICHGeoBase.h.

◆ getNRings()

unsigned getNRings ( ) const
inline

Get number of module slot rings.

Returns
number of module slot rings

Definition at line 231 of file ARICHGeoDetectorPlane.h.

◆ getNSlots()

unsigned getNSlots ( ) const
inline

Get total number of module slots.

Returns
total number of module slots

Definition at line 225 of file ARICHGeoDetectorPlane.h.

◆ getPosition()

TVector3 getPosition ( ) const
inline

Get center point.

Returns
center point (TVector3)

Definition at line 112 of file ARICHGeoDetectorPlane.h.

◆ getRingDPhi()

double getRingDPhi ( unsigned  iRing) const
inline

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

Parameters
iRingmodule slot ring number
Returns
phi (angle) distance between module slots

Definition at line 205 of file ARICHGeoDetectorPlane.h.

◆ getRingR()

double getRingR ( unsigned  iRing) const
inline

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

Parameters
iRingmodule slot ring number
Returns
radius of module slot ring

Definition at line 198 of file ARICHGeoDetectorPlane.h.

◆ getRotation()

TRotation getRotation ( ) const
inline

Get rotation matrix.

Returns
rotation matrix (TRotation)

Definition at line 118 of file ARICHGeoDetectorPlane.h.

◆ getRotationX()

double getRotationX ( ) const
inline

Get angle of rotation around X axis.

Returns
rotation angle arounx X axis

Definition at line 129 of file ARICHGeoDetectorPlane.h.

◆ getRotationY()

double getRotationY ( ) const
inline

Get angle of rotation around Y axis.

Returns
rotation angle arounx Y axis

Definition at line 135 of file ARICHGeoDetectorPlane.h.

◆ getRotationZ()

double getRotationZ ( ) const
inline

Get angle of rotation around Z axis.

Returns
rotation angle arounx Z axis

Definition at line 141 of file ARICHGeoDetectorPlane.h.

◆ getSlotPhi()

double getSlotPhi ( unsigned  modID) const
inline

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

Parameters
modIDmodule ID number
Returns
phi (angle) position of module

Definition at line 219 of file ARICHGeoDetectorPlane.h.

◆ getSlotR()

double getSlotR ( unsigned  modID) const
inline

Get radial position of module with given module ID number.

Parameters
modIDmodule ID number
Returns
radial position of module

Definition at line 212 of file ARICHGeoDetectorPlane.h.

◆ getSlotRing()

unsigned getSlotRing ( unsigned  slotID) const

Get ring number of slot with slot ID.

Parameters
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 }
std::vector< std::pair< double, double > > m_ringPar
parameters of module rings (radius, dPhi)
unsigned m_nSlots
number of HAPD module slots

◆ 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 178 of file ARICHGeoDetectorPlane.h.

◆ 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 185 of file ARICHGeoDetectorPlane.h.

◆ getSupportInnerR()

double getSupportInnerR ( ) const
inline

Get support plate inner radius.

Returns
support plate inner radius

Definition at line 147 of file ARICHGeoDetectorPlane.h.

◆ getSupportMaterial()

const std::string& getSupportMaterial ( ) const
inline

Get material of support plate.

Returns
material of support plate

Definition at line 191 of file ARICHGeoDetectorPlane.h.

◆ getSupportOuterR()

double getSupportOuterR ( ) const
inline

Get support plate outer radius.

Returns
support plate outer radius

Definition at line 153 of file ARICHGeoDetectorPlane.h.

◆ getSupportThickness()

double getSupportThickness ( ) const
inline

Get support plate thickness.

Returns
support plate thickness

Definition at line 159 of file ARICHGeoDetectorPlane.h.

◆ 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 165 of file ARICHGeoDetectorPlane.h.

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

◆ print()

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

Print the content of the class.

Parameters
titletitle to be printed

Reimplemented from ARICHGeoBase.

Definition at line 97 of file ARICHGeoDetectorPlane.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.

◆ setModuleHoleSize()

void setModuleHoleSize ( double  hsize)
inline

Set size of module hole in support plate.

Parameters
hsizehole size

Definition at line 80 of file ARICHGeoDetectorPlane.h.

◆ setName()

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

Sets object name.

Parameters
nameobject name

Definition at line 43 of file ARICHGeoBase.h.

◆ 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
xx position
yy position
zz position
rxrotation around x-axis
ryrotation around y-axis
rzrotation around z-axis

Definition at line 59 of file ARICHGeoDetectorPlane.h.

◆ 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
ringParvector of module slot ring radiuses and phi (angle) distance between module slots in ring

Definition at line 16 of file ARICHGeoDetectorPlane.cc.

◆ setSupportBackWallHeight()

void setSupportBackWallHeight ( double  h)
inline

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

Parameters
hwall height

Definition at line 87 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
hwall height

Definition at line 94 of file ARICHGeoDetectorPlane.h.

◆ setSupportZPosition()

void setSupportZPosition ( double  zPosition)
inline

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

Parameters
zPositionZ position of support plate

Definition at line 100 of file ARICHGeoDetectorPlane.h.

Member Data Documentation

◆ 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 270 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 253 of file ARICHGeoDetectorPlane.h.


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