Belle II Software
release-08-01-10
|
Singleton class for TOP Geometry Parameters. More...
#include <TOPGeometryPar.h>
Public Member Functions | |
virtual | ~TOPGeometryPar () |
Destructor. | |
void | Initialize (const GearDir &content) |
Initialize from Gearbox (XML) More... | |
void | Initialize () |
Initialize from database. | |
bool | isValid () const |
check if the geometry is available More... | |
const TOPGeometry * | getGeometry () const |
Returns pointer to geometry object using basf2 units. More... | |
const FrontEndMapper & | getFrontEndMapper () const |
Returns front-end mapper (mapping of SCROD's to positions within TOP modules) More... | |
const ChannelMapper & | getChannelMapper () const |
Returns default channel mapper (mapping of channels to pixels) More... | |
const ChannelMapper & | getChannelMapper (ChannelMapper::EType type) const |
Returns channel mapper (mapping of channels to pixels) - Gearbox only. More... | |
double | getPMTEfficiencyEnvelope (double energy) const |
Returns PMT efficiency envelope, e.g. More... | |
double | getPMTEfficiency (double energy, int moduleID, int pmtID, double x, double y) const |
Returns PMT pixel efficiency, a product of quantum and collection efficiency. More... | |
double | getRelativePixelEfficiency (int moduleID, int pixelID) const |
Returns relative pixel efficiency (including CE, RQE and threshold efficiency) More... | |
unsigned | getPMTType (int moduleID, int pmtID) const |
Returns PMT type at a given position. More... | |
const TOPNominalTTS & | getTTS (int moduleID, int pmtID) const |
Returns TTS of a PMT at given position. More... | |
double | getPhaseIndex (double energy) const |
Returns phase refractive index of quartz at given photon energy. More... | |
double | getGroupIndex (double energy) const |
Returns group refractive index of quartz at given photon energy. More... | |
double | getPhaseIndexDerivative (double energy) const |
Returns the derivative (dn/dE) of phase refractive index of quartz at given photon energy. More... | |
double | getGroupIndexDerivative (double energy) const |
Returns the derivative (dn_g/dE) of group refractive index of quartz at given photon energy. More... | |
double | getAbsorptionLength (double energy) const |
Returns bulk absorption lenght of quartz at given photon energy. More... | |
Static Public Member Functions | |
static TOPGeometryPar * | Instance () |
Static method to obtain the pointer to its instance. More... | |
Static Public Attributes | |
static const double | c_hc = 1239.84193 |
Planck constant times speed of light in [eV*nm]. | |
Private Member Functions | |
TOPGeometryPar () | |
Hidden constructor since it is a singleton class. | |
void | finalizeInitialization () |
finalize initialization | |
TOPGeometry * | createConfiguration (const GearDir &content) |
Create a parameter object from gearbox. More... | |
TOPGeoBarSegment | createBarSegment (const GearDir &content, const std::string &serialNumber) |
Create a parameter object from gearbox for bar segment. More... | |
TOPGeoMirrorSegment | createMirrorSegment (const GearDir &content, const std::string &serialNumber) |
Create a parameter object from gearbox for mirror segment. More... | |
TOPGeoPrism | createPrism (const GearDir &content, const std::string &serialNumber) |
Create a parameter object from gearbox for prism. More... | |
std::string | addNumber (const std::string &str, unsigned number) |
Adds number to string. More... | |
void | clearCache () |
Clears cache for PMT dependent QE data - function is used in call backs. | |
void | setEnvelopeQE () const |
Constructs envelope of quantum efficiency from PMT data. | |
void | mapPmtQEToPositions () const |
Maps PMT QE data to positions within the detector. | |
void | mapPmtTypeToPositions () const |
Maps PMT type to positions within the detector. | |
void | prepareRelEfficiencies () const |
Prepares a map of relative pixel efficiencies. | |
int | getUniquePmtID (int moduleID, int pmtID) const |
Returns unique PMT ID within the detector. More... | |
int | getUniquePixelID (int moduleID, int pixelID) const |
Returns unique pixel ID within the detector. More... | |
double | integralOfQE (const std::vector< float > &qe, double ce, double lambdaFirst, double lambdaStep) const |
Returns integral of quantum efficiency over photon energies. More... | |
double | refractiveIndex (double lambda) const |
Quartz refractive index (SellMeier equation) More... | |
Private Attributes | |
TOPGeometry * | m_geo = 0 |
geometry parameters from Gearbox | |
DBObjPtr< TOPGeometry > * | m_geoDB = 0 |
geometry parameters from database | |
bool | m_fromDB = false |
parameters from database or Gearbox | |
bool | m_valid = false |
true if geometry is available | |
bool | m_oldPayload = false |
true if old payload found in DB | |
bool | m_BfieldOn = true |
true if B field is on | |
FrontEndMapper | m_frontEndMapper |
front end electronics mapper | |
ChannelMapper | m_channelMapperIRS3B |
channel-pixel mapper | |
ChannelMapper | m_channelMapperIRSX |
channel-pixel mapper | |
OptionalDBArray< TOPPmtInstallation > | m_pmtInstalled |
PMT installation data. | |
OptionalDBArray< TOPPmtQE > | m_pmtQEData |
quantum efficiencies | |
DBObjPtr< TOPCalChannelRQE > | m_channelRQE |
channel relative quantum effi. | |
DBObjPtr< TOPCalChannelThresholdEff > | m_thresholdEff |
channel threshold effi. | |
TOPNominalQE | m_envelopeQE |
envelope quantum efficiency | |
std::map< int, const TOPPmtQE * > | m_pmts |
QE data mapped to positions. | |
std::map< int, double > | m_relEfficiencies |
pixel relative QE | |
std::map< int, unsigned > | m_pmtTypes |
PMT types mapped to positions. | |
Static Private Attributes | |
static TOPGeometryPar * | s_instance = 0 |
Pointer to the class instance. | |
Singleton class for TOP Geometry Parameters.
Definition at line 35 of file TOPGeometryPar.h.
|
private |
Adds number to string.
str | string |
number | number to be added |
Definition at line 946 of file TOPGeometryPar.cc.
|
private |
Create a parameter object from gearbox for bar segment.
content | XML data directory |
serialNumber | bar segment serial number |
Definition at line 868 of file TOPGeometryPar.cc.
|
private |
Create a parameter object from gearbox.
content | XML data directory |
Definition at line 437 of file TOPGeometryPar.cc.
|
private |
Create a parameter object from gearbox for mirror segment.
content | XML data directory |
serialNumber | mirror segment serial number |
Definition at line 891 of file TOPGeometryPar.cc.
|
private |
Create a parameter object from gearbox for prism.
content | XML data directory |
serialNumber | prism serial number |
Definition at line 921 of file TOPGeometryPar.cc.
|
inline |
Returns bulk absorption lenght of quartz at given photon energy.
energy | photon energy [eV] |
Definition at line 340 of file TOPGeometryPar.h.
|
inline |
Returns default channel mapper (mapping of channels to pixels)
Definition at line 83 of file TOPGeometryPar.h.
|
inline |
Returns channel mapper (mapping of channels to pixels) - Gearbox only.
Definition at line 89 of file TOPGeometryPar.h.
|
inline |
Returns front-end mapper (mapping of SCROD's to positions within TOP modules)
Definition at line 77 of file TOPGeometryPar.h.
const TOPGeometry * getGeometry | ( | ) | const |
Returns pointer to geometry object using basf2 units.
Definition at line 165 of file TOPGeometryPar.cc.
double getGroupIndex | ( | double | energy | ) | const |
Returns group refractive index of quartz at given photon energy.
energy | photon energy [eV] |
Definition at line 981 of file TOPGeometryPar.cc.
|
inline |
Returns the derivative (dn_g/dE) of group refractive index of quartz at given photon energy.
energy | photon energy [eV] |
Definition at line 334 of file TOPGeometryPar.h.
double getPhaseIndex | ( | double | energy | ) | const |
Returns phase refractive index of quartz at given photon energy.
energy | photon energy [eV] |
Definition at line 975 of file TOPGeometryPar.cc.
|
inline |
Returns the derivative (dn/dE) of phase refractive index of quartz at given photon energy.
energy | photon energy [eV] |
Definition at line 328 of file TOPGeometryPar.h.
double getPMTEfficiency | ( | double | energy, |
int | moduleID, | ||
int | pmtID, | ||
double | x, | ||
double | y | ||
) | const |
Returns PMT pixel efficiency, a product of quantum and collection efficiency.
energy | photon energy in [eV] |
moduleID | slot ID |
pmtID | PMT ID |
x | photon detection position x in local PMT frame |
y | photon detection position y in local PMT frame |
Definition at line 189 of file TOPGeometryPar.cc.
double getPMTEfficiencyEnvelope | ( | double | energy | ) | const |
Returns PMT efficiency envelope, e.g.
at given photon energy the maximum over all PMT's of a product of quantum and collection efficiency.
energy | photon energy in [eV] |
Definition at line 177 of file TOPGeometryPar.cc.
unsigned getPMTType | ( | int | moduleID, |
int | pmtID | ||
) | const |
Returns PMT type at a given position.
moduleID | slot ID |
pmtID | PMT ID |
Definition at line 246 of file TOPGeometryPar.cc.
double getRelativePixelEfficiency | ( | int | moduleID, |
int | pixelID | ||
) | const |
Returns relative pixel efficiency (including CE, RQE and threshold efficiency)
Definition at line 223 of file TOPGeometryPar.cc.
const TOPNominalTTS & getTTS | ( | int | moduleID, |
int | pmtID | ||
) | const |
Returns TTS of a PMT at given position.
moduleID | slot ID |
pmtID | PMT ID |
Definition at line 255 of file TOPGeometryPar.cc.
|
inlineprivate |
Returns unique pixel ID within the detector.
moduleID | slot ID |
pixelID | pixel ID |
Definition at line 270 of file TOPGeometryPar.h.
|
inlineprivate |
Returns unique PMT ID within the detector.
moduleID | slot ID |
pmtID | PMT ID |
Definition at line 259 of file TOPGeometryPar.h.
void Initialize | ( | const GearDir & | content | ) |
Initialize from Gearbox (XML)
content | XML data directory |
Definition at line 52 of file TOPGeometryPar.cc.
|
static |
Static method to obtain the pointer to its instance.
Definition at line 43 of file TOPGeometryPar.cc.
|
private |
Returns integral of quantum efficiency over photon energies.
qe | quantum efficiency data points |
ce | collection efficiency data points |
lambdaFirst | wavelenght of the first data point [nm] |
lambdaStep | wavelength step [nm] |
Definition at line 419 of file TOPGeometryPar.cc.
|
inline |
check if the geometry is available
Definition at line 65 of file TOPGeometryPar.h.
|
private |
Quartz refractive index (SellMeier equation)
lambda | photon wavelength [nm] |
Definition at line 959 of file TOPGeometryPar.cc.