7#include <DD4hep/DetElement.h>
8#include <DD4hep/Detector.h>
9#include <DD4hep/Objects.h>
10#include <DDRec/CellIDPositionConverter.h>
11#include <DDRec/DetectorData.h>
12#include <IRT/CherenkovDetector.h>
13#include <IRT/CherenkovDetectorCollection.h>
14#include <Math/GenVector/Cartesian3D.h>
15#include <Math/GenVector/DisplacementVector3D.h>
16#include <spdlog/logger.h>
17#include <gsl/pointers>
20#include <unordered_map>
29 IrtGeo(std::string detName_, gsl::not_null<const dd4hep::Detector*> det_,
30 gsl::not_null<const dd4hep::rec::CellIDPositionConverter*> conv_,
31 std::shared_ptr<spdlog::logger> log_);
46 return VecT(pars->get<
double>(key +
"_x"), pars->get<
double>(key +
"_y"),
47 pars->get<
double>(key +
"_z"));
54 gsl::not_null<const dd4hep::Detector*>
m_det;
59 gsl::not_null<const dd4hep::rec::CellIDPositionConverter*>
m_converter;
67 std::shared_ptr<spdlog::logger>
m_log;
dd4hep::Position m_posRich
Definition IrtGeo.h:56
virtual ~IrtGeo()
Definition IrtGeo.cc:97
VecT GetVectorFromVariantParameters(dd4hep::rec::VariantParameters *pars, std::string key) const
Definition IrtGeo.h:45
CherenkovDetector * m_irtDetector
Definition IrtGeo.h:64
std::string m_detName
Definition IrtGeo.h:51
dd4hep::DetElement m_detRich
Definition IrtGeo.h:55
virtual void DD4hep_to_IRT()=0
void SetRefractiveIndexTable()
Definition IrtGeo.cc:80
std::shared_ptr< spdlog::logger > m_log
Definition IrtGeo.h:67
CherenkovDetectorCollection * m_irtDetectorCollection
Definition IrtGeo.h:63
void SetReadoutIDToPositionLambda()
Definition IrtGeo.cc:47
CherenkovDetectorCollection * GetIrtDetectorCollection() const
Definition IrtGeo.h:35
gsl::not_null< const dd4hep::rec::CellIDPositionConverter * > m_converter
Definition IrtGeo.h:59
gsl::not_null< const dd4hep::Detector * > m_det
Definition IrtGeo.h:54
std::unordered_map< int, richgeo::Sensor > m_sensor_info
Definition IrtGeo.h:60