11#include <top/dbobjects/TOPGeoBase.h>
12#include <top/dbobjects/TOPGeoModule.h>
13#include <top/dbobjects/TOPGeoFrontEnd.h>
14#include <top/dbobjects/TOPGeoQBB.h>
15#include <top/dbobjects/TOPNominalQE.h>
16#include <top/dbobjects/TOPNominalTTS.h>
17#include <top/dbobjects/TOPNominalTDC.h>
18#include <top/dbobjects/TOPSignalShape.h>
19#include <top/dbobjects/TOPWavelengthFilter.h>
20#include <framework/gearbox/Unit.h>
278 void print(
const std::string& title =
"TOP geometry parameters")
const override;
293 std::map<unsigned, TOPNominalTTS>
m_tts;
Base class for geometry parameters.
Geometry parameters of board stack (front-end electronic module)
Geometry parameters of a module (optical components + positioning)
Geometry parameters of Quartz Bar Box (mother class)
Geometry parameters of TOP.
unsigned getNumBoardStacks() const
Returns number of boardstacks per module.
const TOPNominalTDC & getNominalTDC() const
Returns nominal time-to-digit conversion parameters.
const TOPSignalShape & getSignalShape() const
Returns single photon signal shape.
TOPSignalShape m_calPulseShape
shape of the calibration pulse
std::map< unsigned, float > m_tuneFactorsPDE
PDE tuning factors of PMT types.
void setCalPulseShape(const TOPSignalShape &shape)
Sets calibration pulse shape.
void appendTTS(const TOPNominalTTS &tts)
Appends time transition spread of a particular PMT type.
void setWavelengthFilter(const TOPWavelengthFilter &filter)
Sets wavelength filter transmittance.
static void useGeantUnits()
Use Geant units when returning geometry parameters.
unsigned getNumModules() const
Returns number of modules.
TOPGeoFrontEnd m_frontEnd
geometry parameters of front-end electronics
TOPGeoQBB m_QBB
geometry parameters of quartz bar box
const std::map< unsigned, TOPNominalTTS > & getTTSes() const
Returns PMT dependent time transition spreads.
TOPNominalQE m_nominalQE
nominal quantum efficiency of PMT
TOPGeometry(const std::string &name)
Constructor with name.
TOPNominalTTS m_nominalTTS
nominal time transition spread of PMT
const TOPSignalShape & getCalPulseShape() const
Returns calibration pulse shape.
unsigned m_numBoardStacks
number of boardstacks per module
const TOPGeoQBB & getQBB() const
Returns quartz bar box.
TOPSignalShape m_signalShape
shape of single photon signal
void setNominalTDC(const TOPNominalTDC &nominalTDC)
Sets nominal time-to-digit conversion parameters.
void setQBB(const TOPGeoQBB &QBB)
Sets quartz bar box.
const std::vector< TOPGeoModule > & getModules() const
Returns all modules.
TOPNominalTDC m_nominalTDC
nominal time-to-digit conversion parameters
void setFrontEnd(const TOPGeoFrontEnd &frontEnd, unsigned num=4)
Sets front-end.
TOPWavelengthFilter m_wavelengthFilter
transmittance of wavelength filter
const TOPWavelengthFilter & getWavelengthFilter() const
Returns transmittance of wavelength filter.
static void useBasf2Units()
Use basf2 units when returning geometry parameters.
std::vector< TOPGeoModule > m_modules
geometry parameters of modules
const TOPNominalTTS & getNominalTTS() const
Returns nominal time transition spread of PMT.
std::map< unsigned, TOPNominalTTS > m_tts
TTS of PMT types.
void setNominalQE(const TOPNominalQE &nominalQE)
Sets nominal quantum efficiency of PMT.
TOPGeometry()
Default constructor.
ClassDefOverride(TOPGeometry, 8)
ClassDef.
void appendPDETuningFactor(unsigned type, double factor)
Appends photon detection efficiency tuning factor of a particular PMT type.
const TOPNominalQE & getNominalQE() const
Returns nominal quantum efficiency of PMT.
void setSignalShape(const TOPSignalShape &signalShape)
Sets single photon signal shape.
bool arePDETuningFactorsEmpty() const
Check for empty PDE tuning factors.
void setNominalTTS(const TOPNominalTTS &nominalTTS)
Sets nominal time transition spread of PMT.
const TOPGeoFrontEnd & getFrontEnd() const
Returns front-end.
Nominal quantum efficiency of PMT.
Nominal time-to-digit conversion parameters (simplified model)
Nominal time transition spread of PMT.
unsigned getPMTType() const
Returns PMT type (see TOPPmtObsoleteData::EType for the defined types)
Normalized shape of single photon pulse (waveform) Pulse must be positive.
Bulk transmittance of wavelength filter.
static const double mm
[millimeters]
static const double cm
Standard units with the value = 1.
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
bool isConsistent() const override
Check for consistency of data members.
static double s_unit
conversion unit for length
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.
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.
const TOPGeoModule & getModule(int moduleID) const
Returns module.
double getOuterRadius() const
Returns outer radius of the volume devoted to TOP counter.
double getInnerRadius() const
Returns inner radius of the volume devoted to TOP counter.
const TOPNominalTTS & getTTS(unsigned type) const
Returns time transition spread of a given PMT type.
double getRadius() const
Returns average radius of modules.
double getBackwardZ() const
Returns backward z of the volume devoted to TOP counter.
static std::string s_unitName
conversion unit name
double getPDETuningFactor(unsigned type) const
Returns photon detection efficiency tuning factor of a given PMT type.
Abstract base class for different kinds of events.