Belle II Software development
ARICHAeroTilesInfo Class Reference

The Class for ARICH aerogel tiles properties for even reconstruction. More...

#include <ARICHAeroTilesInfo.h>

Inheritance diagram for ARICHAeroTilesInfo:

Public Member Functions

 ARICHAeroTilesInfo ()
 Default constructor.
 
float getRefractiveIndex (int slot, int layer) const
 Get refractive index of aerogel tile from slot number.
 
float getTransmissionLength (int slot, int layer) const
 Get transmission length of aerogel tile from slot number.
 
float getThickness (int slot, int layer) const
 Get transmission length of aerogel tile from slot number.
 
void addMapping (int slot, int layer, float refractiveIndex, float transmissionLength, float thickness)
 Add mapping entry.
 
void print () const
 Pring mapping.
 

Private Member Functions

 ClassDef (ARICHAeroTilesInfo, 2)
 ClassDef, must be the last term before the closing {}.
 

Private Attributes

std::map< std::vector< int >, std::vector< float > > m_aeroPos2optical
 map of tile slot (1-124) to optical properties and thickness
 

Detailed Description

The Class for ARICH aerogel tiles properties for even reconstruction.

This class provides aerogel refractive index at 405 nm, transmission length at 400 nm and tile thickness from aerogel slot number (1-124) and layer (0 for downstream, 1 for upstream tile).

Definition at line 28 of file ARICHAeroTilesInfo.h.

Constructor & Destructor Documentation

◆ ARICHAeroTilesInfo()

ARICHAeroTilesInfo ( )
inline

Default constructor.

Definition at line 33 of file ARICHAeroTilesInfo.h.

33{};

Member Function Documentation

◆ addMapping()

void addMapping ( int  slot,
int  layer,
float  refractiveIndex,
float  transmissionLength,
float  thickness 
)

Add mapping entry.

Parameters
slotaerogel slot number
layerupstream or downstream layer identifier (0 for downstream, 1 for upstream tile)
refractiveIndexrefractive index of aerogel tile
transmissionLengthtransmission length of aerogel tile
thicknessthickness of aerogel tile

Definition at line 53 of file ARICHAeroTilesInfo.cc.

54{
55
56 if (slot > 124 || slot < 1) { B2WARNING("ARICHAeroTilesInfo::getTransmissionLength: Slot number " << slot << " not valid!"); }
57 if (layer > 1 || layer < 0) { B2WARNING("ARICHAeroTilesInfo::getTransmissionLength: Layer number " << layer << " not valid!"); }
58
59 std::vector<int> slotID{slot, layer};
60 std::vector<float> opticalProperties{refractiveIndex, transmissionLength, thickness};
61 m_aeroPos2optical.insert(std::pair<std::vector<int>, std::vector<float>>(slotID, opticalProperties));
62}
std::map< std::vector< int >, std::vector< float > > m_aeroPos2optical
map of tile slot (1-124) to optical properties and thickness

◆ getRefractiveIndex()

float getRefractiveIndex ( int  slot,
int  layer 
) const

Get refractive index of aerogel tile from slot number.

Parameters
slotaerogel slot number
layerupstream or downstream layer identifier (0 for downstream, 1 for upstream tile)
Returns
refractiveIndex refractive index of aerogel tile

Definition at line 17 of file ARICHAeroTilesInfo.cc.

18{
19
20 if (slot > 124 || slot < 1) { B2WARNING("ARICHAeroTilesInfo::getTransmissionLength: Slot number " << slot << " not valid!"); return 0.;}
21 if (layer > 1 || layer < 0) { B2WARNING("ARICHAeroTilesInfo::getTransmissionLength: Layer number " << layer << " not valid!"); return 0.;}
22
23 std::vector<int> slotID{slot, layer};
24 std::vector<float> opticalProperties = m_aeroPos2optical.find(slotID)->second;
25
26 return opticalProperties[0];
27}

◆ getThickness()

float getThickness ( int  slot,
int  layer 
) const

Get transmission length of aerogel tile from slot number.

Parameters
slotaerogel slot number
layerupstream or downstream layer identifier (0 for downstream, 1 for upstream tile)
Returns
thickness thickness of aerogel tile

Definition at line 41 of file ARICHAeroTilesInfo.cc.

42{
43
44 if (slot > 124 || slot < 1) { B2WARNING("ARICHAeroTilesInfo::getThickness: Slot number " << slot << " not valid!"); return 0.;}
45 if (layer > 1 || layer < 0) { B2WARNING("ARICHAeroTilesInfo::getThickness: Layer number " << layer << " not valid!"); return 0.;}
46
47 std::vector<int> slotID{slot, layer};
48 std::vector<float> opticalProperties = m_aeroPos2optical.find(slotID)->second;
49
50 return opticalProperties[2];
51}

◆ getTransmissionLength()

float getTransmissionLength ( int  slot,
int  layer 
) const

Get transmission length of aerogel tile from slot number.

Parameters
slotaerogel slot number
layerupstream or downstream layer identifier (0 for downstream, 1 for upstream tile)
Returns
transmissionLength transmission length of aerogel tile

Definition at line 29 of file ARICHAeroTilesInfo.cc.

30{
31
32 if (slot > 124 || slot < 1) { B2WARNING("ARICHAeroTilesInfo::getTransmissionLength: Slot number " << slot << " not valid!"); return 0.;}
33 if (layer > 1 || layer < 0) { B2WARNING("ARICHAeroTilesInfo::getTransmissionLength: Layer number " << layer << " not valid!"); return 0.;}
34
35 std::vector<int> slotID{slot, layer};
36 std::vector<float> opticalProperties = m_aeroPos2optical.find(slotID)->second;
37
38 return opticalProperties[1];
39}

◆ print()

void print ( ) const

Pring mapping.

Definition at line 64 of file ARICHAeroTilesInfo.cc.

65{
66 B2INFO("AEROGEL SLOT MAPPING with optical properties of tiles");
67 for (int tile = 1; tile < N_TILES + 1; tile++) {
68 B2INFO("Slot number: " << tile << "\n"
69 << " downstream tile : refIndex = " << getRefractiveIndex(tile, 0) << "\n"
70 << " transLength = " << getTransmissionLength(tile, 0) << "\n"
71 << " thickness = " << getThickness(tile, 0) << "\n"
72 << " upstream tile : refIndex = " << getRefractiveIndex(tile, 1) << "\n"
73 << " transLength = " << getTransmissionLength(tile, 1) << "\n"
74 << " thickness = " << getThickness(tile, 1) << "\n");
75 //B2INFO("Slot number: " << tile << "\n"
76 // << " downstream tile : refIndex = " << getRefractiveIndex(tile, 0) << "\n"
77 // << " transLength = " << getTransmissionLength(tile, 0) << "\n"
78 // << " upstream tile : refIndex = " << getRefractiveIndex(tile, 1) << "\n"
79 // << " transLength = " << getTransmissionLength(tile, 1) << "\n");
80 }
81}
float getThickness(int slot, int layer) const
Get transmission length of aerogel tile from slot number.
float getRefractiveIndex(int slot, int layer) const
Get refractive index of aerogel tile from slot number.
float getTransmissionLength(int slot, int layer) const
Get transmission length of aerogel tile from slot number.

Member Data Documentation

◆ m_aeroPos2optical

std::map<std::vector<int>, std::vector<float> > m_aeroPos2optical
private

map of tile slot (1-124) to optical properties and thickness

Definition at line 78 of file ARICHAeroTilesInfo.h.


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