Belle II Software development
|
Geometry parameters of HAPD. More...
#include <ARICHGeoAerogelPlane.h>
Classes | |
struct | layer |
Struct to hold aerogel layer parameters. More... | |
struct | tilestr |
Struct to hold individual aerogel tile parameters. More... | |
Public Member Functions | |
ARICHGeoAerogelPlane () | |
Default constructor. | |
bool | isConsistent () const override |
Consistency check of geometry parameters. | |
void | print (const std::string &title="Aerogel 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 aerogel plane positioning within ARICH local volume. | |
void | addSupportPlate (double inR, double outR, double thick, const std::string &material) |
Set parameters of aerogel support plate. | |
void | setWallThickness (double thick) |
Set thickness of aluminum walls between aerogel tiles. | |
void | setWallHeight (double height) |
Set height of aluminum walls between aerogel tiles. | |
void | setTileGap (double gap) |
Set gap between aerogel tile and aluminum wall. | |
void | addTileParameters (int ring, int column, int layerN, double n, double transmL, double thick, const std::string &material) |
Add parameters of individual tile. | |
ROOT::Math::XYZVector | getPosition () const |
Get position vector of aerogel plane in ARICH local frame. | |
ROOT::Math::Rotation3D | getRotation () const |
Get rotation matrix of aerogel plane in ARICH local frame. | |
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 | getWallThickness () const |
Get thickness of aluminum walls between aerogel tiles. | |
double | getWallHeight () const |
Get height of aluminum walls between aerogel tiles. | |
double | getTileGap () const |
Get gap between aerogel tile and aluminum wall. | |
const std::string & | getSupportMaterial () const |
Get material of support plate. | |
void | setWallRadius (std::vector< double > &rs) |
Set radiuses at which "r" aluminum walls between tiles are placed (+inner+outter aluminum ring). | |
void | setWallDPhi (std::vector< double > &dphi) |
Set phi (angle) distance between "phi" aluminum walls between aerogel tiles for all aerogel tile rings. | |
void | setAerogelLayer (unsigned ilayer, double thick, double rIndex, double trLen, const std::string &material) |
Set parameters of i-th aerogel layer. | |
void | setNAeroSlotsIndividualRing (const std::vector< int > &nAeroSlotsIndividualRing) |
Set vector of numbers of aerogel slots in individual ring. | |
unsigned | getNLayers () const |
Get number of aerogel layers. | |
unsigned | getNRings () const |
Get number of aluminum wall rings (should be number of tile rings + 1). | |
double | getRingRadius (unsigned iRing) const |
Get radius of i-th aluminum ring between aerogel tiles (inner radius of ring). | |
double | getRingDPhi (unsigned iRing) const |
Get phi (angle) distance between "phi" aluminum wall between aerogel tiles in i-th tile ring. | |
double | getLayerThickness (unsigned iLayer) const |
Get thickness of tiles in i-th aerogel layer. | |
double | getLayerRefIndex (unsigned iLayer) const |
Get refractive index of tiles in i-th aerogel layer. | |
double | getLayerTrLength (unsigned iLayer) const |
Get transmission length of tiles in i-th aerogel layer. | |
const std::string & | getLayerMaterial (unsigned iLayer) const |
Get material name of tiles in i-th aerogel layer. | |
unsigned | getAerogelTileID (double x, double y) const |
Get ID of aerogel tile containing point (x,y) (actually this is tile slot ID, as it is the same for all layers). | |
void | setSimple (std::vector< double > ¶ms) |
Set to use simple aerogel plane (single square aerogel tile (2 layers), for cosmic test for example). | |
bool | isSimple () const |
Use simple aerogel configuration. | |
const std::vector< double > & | getSimpleParams () const |
Get parameters of simple aerogel configuration. | |
const std::vector< int > & | getNAeroSlotsIndividualRing () const |
Get vector of numbers of aerogel slots in individual ring. | |
double | getAerogelZPosition () const |
Get starting Z position of first aerogel layer. | |
void | setFullAerogelMaterialDescriptionKey (int fullAerogelMaterialDescriptionKey) |
Set full aerogel material description key. | |
int | getFullAerogelMaterialDescriptionKey () const |
Get full aerogel material description key. | |
unsigned | getTileParameters (int ring, int column, int layerN, double &n, double &transmL, double &thick, std::string &material) const |
Get parameters of individual tile. | |
double | getTileThickness (int ring, int column, int layerN) const |
Get thickness of individual tile. | |
std::string | getTileMaterialName (int ring, int column, int layerN) const |
Get material name of individual tile. | |
double | getTotalTileThickness (int ring, int column) const |
Get total thickness of the aerogel tiles tile_up + tile_down for a given slot. | |
double | getMaximumTotalTileThickness () const |
Get maximum total thickness of the aerogel tiles tile_up + tile_down for all the slots. | |
void | setImgTubeThickness (double imgTubeThickness) |
Set imaginary tube thikness just after aerogel layers used as volume to which tracks are extrapolated. | |
double | getImgTubeThickness () const |
Get imaginary tube thikness just after aerogel layers used as volume to which tracks are extrapolated. | |
void | setCompensationARICHairVolumeThick_min (double compensationARICHairVolumeThick_min) |
Set minimum thickness of the compensation volume with ARICH air. | |
double | getCompensationARICHairVolumeThick_min () const |
Get minimum thickness of the compensation volume with ARICH air. | |
void | printTileParameters (const std::string &title="Aerogel tiles parameters:") const |
Print the content of the m_tiles vector of tilestr structure. | |
void | printSingleTileParameters (unsigned i) const |
Print the content of the single tilestr structure. | |
void | testGetTileParametersFunction () const |
This function tests the getTileParameters function. | |
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 (ARICHGeoAerogelPlane, 3) | |
ClassDef. | |
Private Attributes | |
double | m_x = 0 |
x position | |
double | m_y = 0 |
y position | |
double | m_z = 0 |
z position | |
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::vector< double > | m_r |
"r" aluminum wall radiuses | |
std::vector< double > | m_dPhi |
"phi" aluminum wall distances in tile ring | |
std::vector< int > | m_nAeroSlotsIndividualRing |
Number of aerogel slots in individual ring. | |
std::vector< layer > | m_layers |
parameters averaged properties of the aerogel tiles/layers (up and down) | |
std::vector< tilestr > | m_tiles |
parameters of the individual aerogel tiles | |
double | m_tileGap = 0 |
gap between aerogel tiles and aluminum walls | |
std::string | m_supportMaterial |
material of support plate | |
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_wallThickness = 0 |
thickness of aluminum walls between aerogel tiles | |
double | m_wallHeight = 0 |
height (z) of aluminum walls between aerogel tiles | |
unsigned | m_rSize = 0 |
size of m_r vector | |
unsigned | m_dPhiSize = 0 |
size of m_dPhi vector | |
unsigned | m_nLayers = 0 |
number of aerogel tile layers | |
bool | m_simple = 0 |
switch to simple mode | |
std::vector< double > | m_simpleParams |
vector of simple parameters | |
int | m_fullAerogelMaterialDescriptionKey |
Full aerogel material description key : 1 - use material explicitly for each aerogel tile, 0 - use two types of aerogel material. | |
double | m_imgTubeThickness |
imaginary tube thikness just after aerogel layers used as volume to which tracks are extrapolated | |
double | m_compensationARICHairVolumeThick_min = 0 |
Minimum thickness of the compensation volume with ARICH air. | |
Geometry parameters of HAPD.
Definition at line 29 of file ARICHGeoAerogelPlane.h.
|
inline |
|
inline |
Set parameters of aerogel support plate.
[in] | inR | Inner radius. |
[in] | outR | Outer radius. |
[in] | thick | Thickness. |
[in] | material | Material. |
Definition at line 119 of file ARICHGeoAerogelPlane.h.
|
inline |
Add parameters of individual tile.
[in] | ring | Aerogel tile ring ID (range : [1;4]). |
[in] | column | Aerogel tile column ID (range : [1;22] [1;28] [1;34] [1;40]). |
[in] | layerN | Aerogel tile layer ID (layer : 0 - up; layer : 1 - down). |
[in] | n | Aerogel tile refractive index. |
[in] | transmL | Aerogel tile rayleigh scattering length. |
[in] | thick | Aerogel tile thickness. |
[in] | material | Aerogel tile material name. |
Definition at line 169 of file ARICHGeoAerogelPlane.h.
unsigned getAerogelTileID | ( | double | x, |
double | y | ||
) | const |
Get ID of aerogel tile containing point (x,y) (actually this is tile slot ID, as it is the same for all layers).
[in] | x | X position. |
[in] | y | Y position. |
Definition at line 120 of file ARICHGeoAerogelPlane.cc.
|
inline |
Get starting Z position of first aerogel layer.
Definition at line 415 of file ARICHGeoAerogelPlane.h.
|
inline |
Get minimum thickness of the compensation volume with ARICH air.
Definition at line 559 of file ARICHGeoAerogelPlane.h.
|
inline |
Get full aerogel material description key.
1 - use material explicitly for each aerogel tile. Any integer (but not 1) - uses two types of aerogel material for upstream and downstream.
Definition at line 441 of file ARICHGeoAerogelPlane.h.
|
inline |
Get imaginary tube thikness just after aerogel layers used as volume to which tracks are extrapolated.
Definition at line 539 of file ARICHGeoAerogelPlane.h.
|
inline |
Get material name of tiles in i-th aerogel layer.
[in] | iLayer | Layer number. |
Definition at line 360 of file ARICHGeoAerogelPlane.h.
|
inline |
Get refractive index of tiles in i-th aerogel layer.
[in] | iLayer | Layer number. |
Definition at line 346 of file ARICHGeoAerogelPlane.h.
|
inline |
Get thickness of tiles in i-th aerogel layer.
[in] | iLayer | Layer number. |
Definition at line 339 of file ARICHGeoAerogelPlane.h.
|
inline |
Get transmission length of tiles in i-th aerogel layer.
[in] | iLayer | Layer number. |
Definition at line 353 of file ARICHGeoAerogelPlane.h.
double getMaximumTotalTileThickness | ( | ) | const |
Get maximum total thickness of the aerogel tiles tile_up + tile_down for all the slots.
Definition at line 221 of file ARICHGeoAerogelPlane.cc.
|
inline |
Get vector of numbers of aerogel slots in individual ring.
Definition at line 406 of file ARICHGeoAerogelPlane.h.
|
inlineinherited |
|
inline |
Get number of aerogel layers.
Definition at line 310 of file ARICHGeoAerogelPlane.h.
|
inline |
Get number of aluminum wall rings (should be number of tile rings + 1).
Definition at line 316 of file ARICHGeoAerogelPlane.h.
|
inline |
Get position vector of aerogel plane in ARICH local frame.
Definition at line 178 of file ARICHGeoAerogelPlane.h.
|
inline |
Get phi (angle) distance between "phi" aluminum wall between aerogel tiles in i-th tile ring.
[in] | iRing | Ring number (from 1->). |
Definition at line 332 of file ARICHGeoAerogelPlane.h.
|
inline |
Get radius of i-th aluminum ring between aerogel tiles (inner radius of ring).
[in] | iRing | Ring number (from 1->). |
Definition at line 324 of file ARICHGeoAerogelPlane.h.
|
inline |
Get rotation matrix of aerogel plane in ARICH local frame.
Definition at line 184 of file ARICHGeoAerogelPlane.h.
|
inline |
Get angle of rotation around X axis.
Definition at line 198 of file ARICHGeoAerogelPlane.h.
|
inline |
Get angle of rotation around Y axis.
Definition at line 204 of file ARICHGeoAerogelPlane.h.
|
inline |
Get angle of rotation around Z axis.
Definition at line 210 of file ARICHGeoAerogelPlane.h.
|
inline |
Get parameters of simple aerogel configuration.
Definition at line 397 of file ARICHGeoAerogelPlane.h.
|
inline |
Get support-plate inner radius.
Definition at line 216 of file ARICHGeoAerogelPlane.h.
|
inline |
Get material of support plate.
Definition at line 252 of file ARICHGeoAerogelPlane.h.
|
inline |
Get support-plate outer radius.
Definition at line 222 of file ARICHGeoAerogelPlane.h.
|
inline |
Get support-plate thickness.
Definition at line 228 of file ARICHGeoAerogelPlane.h.
|
inline |
Get gap between aerogel tile and aluminum wall.
Definition at line 246 of file ARICHGeoAerogelPlane.h.
std::string getTileMaterialName | ( | int | ring, |
int | column, | ||
int | layerN | ||
) | const |
Get material name of individual tile.
[in] | ring | Aerogel tile ring ID (range : [1;4]). |
[in] | column | Aerogel tile column ID (range : [1;22] [1;28] [1;34] [1;40]). |
[in] | layerN | Aerogel tile layer ID (layer : 0 - up; layer : 1 - down). |
Definition at line 189 of file ARICHGeoAerogelPlane.cc.
unsigned getTileParameters | ( | int | ring, |
int | column, | ||
int | layerN, | ||
double & | n, | ||
double & | transmL, | ||
double & | thick, | ||
std::string & | material | ||
) | const |
Get parameters of individual tile.
[in] | ring | Aerogel tile ring ID (range : [1;4]). |
[in] | column | Aerogel tile column ID (range : [1;22] [1;28] [1;34] [1;40]). |
[in] | layerN | Aerogel tile layer ID (layer : 0 - up; layer : 1 - down). |
[in] | n | Aerogel tile refractive index. |
[in] | transmL | Aerogel tile rayleigh scattering length. |
[in] | thick | Aerogel tile thickness. |
[in] | material | Aerogel tile material name. |
Definition at line 146 of file ARICHGeoAerogelPlane.cc.
double getTileThickness | ( | int | ring, |
int | column, | ||
int | layerN | ||
) | const |
Get thickness of individual tile.
[in] | ring | Aerogel tile ring ID (range : [1;4]). |
[in] | column | Aerogel tile column ID (range : [1;22] [1;28] [1;34] [1;40]). |
[in] | layerN | Aerogel tile layer ID (layer : 0 - up; layer : 1 - down). |
Definition at line 174 of file ARICHGeoAerogelPlane.cc.
double getTotalTileThickness | ( | int | ring, |
int | column | ||
) | const |
Get total thickness of the aerogel tiles tile_up + tile_down for a given slot.
[in] | ring | Aerogel tile ring ID. |
[in] | column | Aerogel tile column ID, |
Definition at line 204 of file ARICHGeoAerogelPlane.cc.
|
inline |
Get height of aluminum walls between aerogel tiles.
Definition at line 240 of file ARICHGeoAerogelPlane.h.
|
inline |
Get thickness of aluminum walls between aerogel tiles.
Definition at line 234 of file ARICHGeoAerogelPlane.h.
|
overridevirtual |
Consistency check of geometry parameters.
Reimplemented from ARICHGeoBase.
Definition at line 17 of file ARICHGeoAerogelPlane.cc.
|
inline |
Use simple aerogel configuration.
Definition at line 388 of file ARICHGeoAerogelPlane.h.
|
overridevirtual |
Print the content of the class.
[in] | title | Title to be printed. |
Reimplemented from ARICHGeoBase.
Definition at line 55 of file ARICHGeoAerogelPlane.cc.
|
virtualinherited |
Print volume positioning parameters.
x | x position |
y | y position |
z | z position |
rx | rotation around x-axis |
ry | rotation around y-axis |
rz | rotation around z-axis |
Definition at line 25 of file ARICHGeoBase.cc.
void printSingleTileParameters | ( | unsigned | i | ) | const |
Print the content of the single tilestr structure.
It contains position of the tile its refractive index, Rayleigh scattering length, thickness.
[in] | i | Entry counter. |
Definition at line 260 of file ARICHGeoAerogelPlane.cc.
|
virtualinherited |
Print the content of optical surface.
surface | optical surface parameters |
Definition at line 32 of file ARICHGeoBase.cc.
void printTileParameters | ( | const std::string & | title = "Aerogel tiles parameters:" | ) | const |
Print the content of the m_tiles vector of tilestr structure.
It contains position of the tile its refractive index, Rayleigh scattering length, thickness.
[in] | title | Title to be printed. |
Definition at line 237 of file ARICHGeoAerogelPlane.cc.
|
inline |
Set parameters of i-th aerogel layer.
[in] | ilayer | Layer number (1 is placed first, at lowest z, etc...). |
[in] | thick | Thickness of aerogel tiles in layer. |
[in] | rIndex | Refractive index of aerogel tiles in layer. |
[in] | trLen | Transmission length of aerogel tiles in layer |
[in] | material | Material of aerogel tiles in layer |
Definition at line 288 of file ARICHGeoAerogelPlane.h.
|
inline |
Set minimum thickness of the compensation volume with ARICH air.
[in] | compensationARICHairVolumeThick_min | Minimum thickness of the compensation volume with ARICH air. |
Definition at line 550 of file ARICHGeoAerogelPlane.h.
|
inline |
Set full aerogel material description key.
1 - use material explicitly for each aerogel tile. Any integer (but not 1) - uses two types of aerogel material for upstream and downstream.
[in] | fullAerogelMaterialDescriptionKey | Full aerogel material description key. |
Definition at line 429 of file ARICHGeoAerogelPlane.h.
|
inline |
Set imaginary tube thikness just after aerogel layers used as volume to which tracks are extrapolated.
[in] | imgTubeThickness | imaginary tube thikness. |
Definition at line 529 of file ARICHGeoAerogelPlane.h.
|
inline |
Set vector of numbers of aerogel slots in individual ring.
[in] | nAeroSlotsIndividualRing | Vector of numbers of aerogel slots in individual ring. |
Definition at line 304 of file ARICHGeoAerogelPlane.h.
|
inlineinherited |
Sets object name.
name | object name |
Definition at line 43 of file ARICHGeoBase.h.
|
inline |
Set aerogel plane positioning within ARICH local volume.
[in] | x | X position. |
[in] | y | Y position. |
[in] | z | Z position. |
[in] | rx | Rotation around x-axis. |
[in] | ry | Rotation around y-axis. |
[in] | rz | Rotation around z-axis. |
Definition at line 110 of file ARICHGeoAerogelPlane.h.
|
inline |
Set to use simple aerogel plane (single square aerogel tile (2 layers), for cosmic test for example).
Vector of parameters should contain: x size, y size, x position, y position, rotation phi angle.
[in] | params | Vector of aerogel tile parameters. |
Definition at line 377 of file ARICHGeoAerogelPlane.h.
|
inline |
Set gap between aerogel tile and aluminum wall.
[in] | gap | Gap size. |
Definition at line 143 of file ARICHGeoAerogelPlane.h.
|
inline |
Set phi (angle) distance between "phi" aluminum walls between aerogel tiles for all aerogel tile rings.
[in] | dphi | Vector of phi (angle) distances. |
Definition at line 268 of file ARICHGeoAerogelPlane.h.
|
inline |
Set height of aluminum walls between aerogel tiles.
[in] | height | Wall height. |
Definition at line 137 of file ARICHGeoAerogelPlane.h.
|
inline |
Set radiuses at which "r" aluminum walls between tiles are placed (+inner+outter aluminum ring).
[in] | rs | Vector of aluminum rings between aerogel tiles radiuses (inner radius!). |
Definition at line 261 of file ARICHGeoAerogelPlane.h.
|
inline |
Set thickness of aluminum walls between aerogel tiles.
[in] | thick | Wall thickness. |
Definition at line 131 of file ARICHGeoAerogelPlane.h.
void testGetTileParametersFunction | ( | ) | const |
This function tests the getTileParameters function.
Definition at line 282 of file ARICHGeoAerogelPlane.cc.
|
private |
Minimum thickness of the compensation volume with ARICH air.
Definition at line 626 of file ARICHGeoAerogelPlane.h.
|
private |
"phi" aluminum wall distances in tile ring
Definition at line 597 of file ARICHGeoAerogelPlane.h.
|
private |
size of m_dPhi vector
Definition at line 614 of file ARICHGeoAerogelPlane.h.
|
private |
Full aerogel material description key : 1 - use material explicitly for each aerogel tile, 0 - use two types of aerogel material.
Definition at line 620 of file ARICHGeoAerogelPlane.h.
|
private |
imaginary tube thikness just after aerogel layers used as volume to which tracks are extrapolated
Definition at line 623 of file ARICHGeoAerogelPlane.h.
|
private |
inner radius of support plate
Definition at line 607 of file ARICHGeoAerogelPlane.h.
|
private |
parameters averaged properties of the aerogel tiles/layers (up and down)
Definition at line 600 of file ARICHGeoAerogelPlane.h.
|
private |
Number of aerogel slots in individual ring.
Definition at line 598 of file ARICHGeoAerogelPlane.h.
|
protectedinherited |
geometry object name
Definition at line 82 of file ARICHGeoBase.h.
|
private |
number of aerogel tile layers
Definition at line 615 of file ARICHGeoAerogelPlane.h.
|
private |
outer radius of support plate
Definition at line 608 of file ARICHGeoAerogelPlane.h.
|
private |
"r" aluminum wall radiuses
Definition at line 596 of file ARICHGeoAerogelPlane.h.
|
private |
size of m_r vector
Definition at line 613 of file ARICHGeoAerogelPlane.h.
|
private |
rotation around x-axis
Definition at line 592 of file ARICHGeoAerogelPlane.h.
|
private |
rotation around y-axis
Definition at line 593 of file ARICHGeoAerogelPlane.h.
|
private |
rotation around z-axis
Definition at line 594 of file ARICHGeoAerogelPlane.h.
|
private |
switch to simple mode
Definition at line 617 of file ARICHGeoAerogelPlane.h.
|
private |
vector of simple parameters
Definition at line 618 of file ARICHGeoAerogelPlane.h.
|
private |
material of support plate
Definition at line 606 of file ARICHGeoAerogelPlane.h.
|
private |
thickness of support plate
Definition at line 609 of file ARICHGeoAerogelPlane.h.
|
private |
gap between aerogel tiles and aluminum walls
Definition at line 603 of file ARICHGeoAerogelPlane.h.
|
private |
parameters of the individual aerogel tiles
Definition at line 601 of file ARICHGeoAerogelPlane.h.
|
private |
height (z) of aluminum walls between aerogel tiles
Definition at line 611 of file ARICHGeoAerogelPlane.h.
|
private |
thickness of aluminum walls between aerogel tiles
Definition at line 610 of file ARICHGeoAerogelPlane.h.
|
private |
x position
Definition at line 588 of file ARICHGeoAerogelPlane.h.
|
private |
y position
Definition at line 589 of file ARICHGeoAerogelPlane.h.
|
private |
z position
Definition at line 590 of file ARICHGeoAerogelPlane.h.
|
staticprotectedinherited |
conversion unit for length
Definition at line 83 of file ARICHGeoBase.h.
|
staticprotectedinherited |
conversion unit name
Definition at line 84 of file ARICHGeoBase.h.