 |
Belle II Software
release-05-02-19
|
13 #include <top/dbobjects/TOPGeoBase.h>
14 #include <top/dbobjects/TOPGeoModule.h>
15 #include <top/dbobjects/TOPGeoFrontEnd.h>
16 #include <top/dbobjects/TOPGeoQBB.h>
17 #include <top/dbobjects/TOPNominalQE.h>
18 #include <top/dbobjects/TOPNominalTTS.h>
19 #include <top/dbobjects/TOPNominalTDC.h>
20 #include <top/dbobjects/TOPSignalShape.h>
21 #include <top/dbobjects/TOPWavelengthFilter.h>
22 #include <framework/gearbox/Unit.h>
36 class TOPGeometry:
public TOPGeoBase {
73 void setFrontEnd(
const TOPGeoFrontEnd& frontEnd,
unsigned num = 4)
101 void appendTTS(
const TOPNominalTTS& tts) {
m_tts[tts.getPMTType()] = tts;}
145 const TOPGeoModule&
getModule(
int moduleID)
const;
195 const TOPNominalTTS&
getTTS(
unsigned type)
const;
214 const std::map<unsigned, TOPNominalTTS>&
getTTSes()
const {
return m_tts;}
280 void print(
const std::string& title =
"TOP geometry parameters")
const override;
295 std::map<unsigned, TOPNominalTTS>
m_tts;
static const double cm
Standard units with the value = 1.
double getInnerRadius() const
Returns inner radius of the volume devoted to TOP counter.
void appendPDETuningFactor(unsigned type, double factor)
Appends photon detection efficiency tuning factor of a particular PMT type.
ClassDefOverride(TOPGeometry, 8)
ClassDef.
Geometry parameters of TOP.
static void useGeantUnits()
Use Geant units when returning geometry parameters.
void appendModule(const TOPGeoModule &module)
Appends module (if its ID differs from already appended modules)
void print(const std::string &title="TOP geometry parameters") const override
Print the content of the class.
Base class for geometry parameters.
static std::string s_unitName
conversion unit name
bool arePDETuningFactorsEmpty() const
Check for empty PDE tuning factors.
TOPNominalTDC m_nominalTDC
nominal time-to-digit conversion parameters
double getBackwardZ() const
Returns backward z of the volume devoted to TOP counter.
const TOPSignalShape & getCalPulseShape() const
Returns calibration pulse shape.
double getPDETuningFactor(unsigned type) const
Returns photon detection efficiency tuning factor of a given PMT type.
void setNominalQE(const TOPNominalQE &nominalQE)
Sets nominal quantum efficiency of PMT.
std::map< ExpRun, std::pair< double, double > > filter(const std::map< ExpRun, std::pair< double, double >> &runs, double cut, std::map< ExpRun, std::pair< double, double >> &runsRemoved)
filter events to remove runs shorter than cut, it stores removed runs in runsRemoved
const TOPSignalShape & getSignalShape() const
Returns single photon signal shape.
Geometry parameters of board stack (front-end electronic module)
const TOPNominalTDC & getNominalTDC() const
Returns nominal time-to-digit conversion parameters.
unsigned m_numBoardStacks
number of boardstacks per module
TOPNominalQE m_nominalQE
nominal quantum efficiency of PMT
const TOPNominalQE & getNominalQE() const
Returns nominal quantum efficiency of PMT.
const TOPGeoModule & getModule(int moduleID) const
Returns module.
Normalized shape of single photon pulse (waveform) Pulse must be positive.
const TOPNominalTTS & getNominalTTS() const
Returns nominal time transition spread of PMT.
void setNominalTDC(const TOPNominalTDC &nominalTDC)
Sets nominal time-to-digit conversion parameters.
const TOPNominalTTS & getTTS(unsigned type) const
Returns time transition spread of a given PMT type.
const TOPGeoQBB & getQBB() const
Returns quartz bar box.
Abstract base class for different kinds of events.
void setFrontEnd(const TOPGeoFrontEnd &frontEnd, unsigned num=4)
Sets front-end.
static double s_unit
conversion unit for length
unsigned getNumModules() const
Returns number of modules.
void appendTTS(const TOPNominalTTS &tts)
Appends time transition spread of a particular PMT type.
Nominal time-to-digit conversion parameters (simplified model)
bool isConsistent() const override
Check for consistency of data members.
void setNominalTTS(const TOPNominalTTS &nominalTTS)
Sets nominal time transition spread of PMT.
const std::map< unsigned, TOPNominalTTS > & getTTSes() const
Returns PMT dependent time transition spreads.
TOPSignalShape m_signalShape
shape of single photon signal
std::vector< TOPGeoModule > m_modules
geometry parameters of modules
TOPGeoQBB m_QBB
geometry parameters of quartz bar box
TOPNominalTTS m_nominalTTS
nominal time transition spread of PMT
std::map< unsigned, TOPNominalTTS > m_tts
TTS of PMT types.
void setQBB(const TOPGeoQBB &QBB)
Sets quartz bar box.
Bulk transmittance of wavelength filter.
static void useBasf2Units()
Use basf2 units when returning geometry parameters.
TOPWavelengthFilter m_wavelengthFilter
transmittance of wavelength filter
static const double mm
[millimeters]
double getRadius() const
Returns average radius of modules.
void setSignalShape(const TOPSignalShape &signalShape)
Sets single photon signal shape.
const std::vector< TOPGeoModule > & getModules() const
Returns all modules.
unsigned getNumBoardStacks() const
Returns number of boardstacks per module.
std::map< unsigned, float > m_tuneFactorsPDE
PDE tuning factors of PMT types.
const TOPGeoFrontEnd & getFrontEnd() const
Returns front-end.
double getForwardZ() const
Returns forward z of the volume devoted to TOP counter.
bool isModuleIDValid(int moduleID) const
Checks if module exists in m_modules.
TOPSignalShape m_calPulseShape
shape of the calibration pulse
const TOPWavelengthFilter & getWavelengthFilter() const
Returns transmittance of wavelength filter.
TOPGeoFrontEnd m_frontEnd
geometry parameters of front-end electronics
void setWavelengthFilter(const TOPWavelengthFilter &filter)
Sets wavelength filter transmittance.
void setCalPulseShape(const TOPSignalShape &shape)
Sets calibration pulse shape.
double getOuterRadius() const
Returns outer radius of the volume devoted to TOP counter.
TOPGeometry()
Default constructor.