 |
Belle II Software
release-05-02-19
|
14 #include <top/dbobjects/TOPGeometry.h>
15 #include <top/geometry/FrontEndMapper.h>
16 #include <top/geometry/ChannelMapper.h>
17 #include <framework/database/DBObjPtr.h>
18 #include <framework/database/DBArray.h>
19 #include <top/dbobjects/TOPPmtInstallation.h>
20 #include <top/dbobjects/TOPPmtQE.h>
21 #include <top/dbobjects/TOPNominalQE.h>
22 #include <top/dbobjects/TOPCalChannelRQE.h>
23 #include <top/dbobjects/TOPCalChannelThresholdEff.h>
38 class TOPGeometryPar {
119 int moduleID,
int pmtID,
double x,
double y)
const;
133 unsigned getPMTType(
int moduleID,
int pmtID)
const;
143 static const double c_hc;
170 const std::string& serialNumber);
178 const std::string& serialNumber);
186 const std::string& serialNumber);
194 std::string
addNumber(
const std::string& str,
unsigned number);
229 return (moduleID << 16) + pmtID;
240 return (moduleID << 16) + pixelID;
251 double integralOfQE(
const std::vector<float>& qe,
double ce,
252 double lambdaFirst,
double lambdaStep)
const;
278 mutable std::map<int, const TOPPmtQE*>
m_pmts;
double integralOfQE(const std::vector< float > &qe, double ce, double lambdaFirst, double lambdaStep) const
Returns integral of quantum efficiency over photon energies.
int getUniquePmtID(int moduleID, int pmtID) const
Returns unique PMT ID within the detector.
Nominal time transition spread of PMT.
Geometry parameters of prism.
Geometry parameters of TOP.
Provides mapping between electronic channels and pixels.
DBObjPtr< TOPCalChannelThresholdEff > m_thresholdEff
channel threshold effi.
Geometry parameters of a quartz bar segment.
bool m_valid
true if geometry is available
void clearCache()
Clears cache for PMT dependent QE data - function is used in call backs.
EType
Enum for electornic types.
Provides mapping between electronics module position within a TOP module and SCROD ID,...
Nominal quantum efficiency of PMT.
void finalizeInitialization()
finalize initialization
ChannelMapper m_channelMapperIRSX
channel-pixel mapper
OptionalDBArray< TOPPmtInstallation > m_pmtInstalled
PMT installation data.
static TOPGeometryPar * s_instance
Pointer to the class instance.
virtual ~TOPGeometryPar()
Destructor.
std::string addNumber(const std::string &str, unsigned number)
Adds number to string.
double getPMTEfficiencyEnvelope(double energy) const
Returns PMT efficiency envelope, e.g.
TOPGeometryPar()
Hidden constructor since it is a singleton class.
ChannelMapper m_channelMapperIRS3B
channel-pixel mapper
bool m_fromDB
parameters from database or Gearbox
DBObjPtr< TOPCalChannelRQE > m_channelRQE
channel relative quantum effi.
int getUniquePixelID(int moduleID, int pixelID) const
Returns unique pixel ID within the detector.
void Initialize()
Initialize from database.
Class for accessing objects in the database.
void mapPmtQEToPositions() const
Maps PMT QE data to positions within the detector.
static TOPGeometryPar * Instance()
Static method to obtain the pointer to its instance.
std::map< int, const TOPPmtQE * > m_pmts
QE data mapped to positions.
TOPGeometry * createConfiguration(const GearDir &content)
Create a parameter object from gearbox.
Abstract base class for different kinds of events.
GearDir is the basic class used for accessing the parameter store.
Optional DBArray: This class behaves the same as the DBArray except that it will not raise errors whe...
DBObjPtr< TOPGeometry > * m_geoDB
geometry parameters from database
unsigned getPMTType(int moduleID, int pmtID) const
Returns PMT type at a given position.
static const double c_hc
Planck constant times speed of light in [eV*nm].
TOPGeoPrism createPrism(const GearDir &content, const std::string &serialNumber)
Create a parameter object from gearbox for prism.
double getRelativePixelEfficiency(int moduleID, int pixelID) const
Returns relative pixel efficiency (including CE, RQE and threshold efficiency)
Geometry parameters of a mirror segment.
TOPNominalQE m_envelopeQE
envelope quantum efficiency
bool m_BfieldOn
true if B field is on
std::map< int, double > m_relEfficiencies
pixel relative QE
const TOPGeometry * getGeometry() const
Returns pointer to geometry object using Basf2 units.
TOPGeoBarSegment createBarSegment(const GearDir &content, const std::string &serialNumber)
Create a parameter object from gearbox for bar segment.
std::map< int, unsigned > m_pmtTypes
PMT types mapped to positions.
void setEnvelopeQE() const
Constructs envelope of quantum efficiency from PMT data.
FrontEndMapper m_frontEndMapper
front end electronics mapper
TOPGeometry * m_geo
geometry parameters from Gearbox
void prepareRelEfficiencies() const
Prepares a map of relative pixel efficiencies.
TOPGeoMirrorSegment createMirrorSegment(const GearDir &content, const std::string &serialNumber)
Create a parameter object from gearbox for mirror segment.
Singleton class for TOP Geometry Parameters.
double getPMTEfficiency(double energy, int moduleID, int pmtID, double x, double y) const
Returns PMT pixel efficiency, a product of quantum and collection efficiency.
const ChannelMapper & getChannelMapper() const
Returns default channel mapper (mapping of channels to pixels)
void mapPmtTypeToPositions() const
Maps PMT type to positions within the detector.
OptionalDBArray< TOPPmtQE > m_pmtQEData
quantum efficiencies
bool isValid() const
check if the geometry is available
bool m_oldPayload
true if old payload found in DB
const FrontEndMapper & getFrontEndMapper() const
Returns front-end mapper (mapping of SCROD's to positions within TOP modules)
const TOPNominalTTS & getTTS(int moduleID, int pmtID) const
Returns TTS of a PMT at given position.