9#include <DD4hep/DetElement.h>
11#include <DD4hep/Detector.h>
12#include <DD4hep/Objects.h>
13#include <DDRec/CellIDPositionConverter.h>
14#include <DDSegmentation/BitFieldCoder.h>
15#include <Parsers/Primitives.h>
16#include <TRandomGen.h>
17#include <spdlog/logger.h>
19#include <gsl/pointers>
30 ReadoutGeo(std::string detName_, std::string readoutClass_,
31 gsl::not_null<const dd4hep::Detector*> det_,
32 gsl::not_null<const dd4hep::rec::CellIDPositionConverter*> conv_,
33 std::shared_ptr<spdlog::logger> log_);
39 dd4hep::rec::CellID cellID_dd4hep;
67 void SetSeed(
unsigned long seed) { m_random.SetSeed(seed); }
71 std::shared_ptr<spdlog::logger>
m_log;
74 gsl::not_null<const dd4hep::Detector*>
m_det;
75 gsl::not_null<const dd4hep::rec::CellIDPositionConverter*>
m_conv;
92 TRandomMixMax m_random;
Definition ReadoutGeo.h:27
dd4hep::BitFieldCoder * m_readoutCoder
Definition ReadoutGeo.h:77
gsl::not_null< const dd4hep::rec::CellIDPositionConverter * > m_conv
Definition ReadoutGeo.h:75
std::shared_ptr< spdlog::logger > m_log
Definition ReadoutGeo.h:71
void VisitAllReadoutPixels(std::function< void(CellIDType)> lambda)
Definition ReadoutGeo.h:52
std::function< void(std::function< void(CellIDType)>, float)> m_rngCellIDs
Definition ReadoutGeo.h:88
dd4hep::DetElement m_detRich
Definition ReadoutGeo.h:76
std::string m_readoutClass
Definition ReadoutGeo.h:73
~ReadoutGeo()
Definition ReadoutGeo.h:34
void VisitAllRngPixels(std::function< void(CellIDType)> lambda, float p)
Definition ReadoutGeo.h:55
void SetSeed(unsigned long seed)
Definition ReadoutGeo.h:67
bool PixelGapMask(CellIDType cellID, dd4hep::Position pos_hit_global) const
Definition ReadoutGeo.cc:121
std::function< void(std::function< void(CellIDType)>)> m_loopCellIDs
Definition ReadoutGeo.h:86
int m_num_pdus
Definition ReadoutGeo.h:80
int m_systemID
Definition ReadoutGeo.h:78
gsl::not_null< const dd4hep::Detector * > m_det
Definition ReadoutGeo.h:74
std::string m_detName
Definition ReadoutGeo.h:72
CellIDType cellIDEncoding(int isec, int ipdu, int isipm, int x, int y)
Definition ReadoutGeo.h:37
double m_pixel_size
Definition ReadoutGeo.h:83
int m_num_sec
Definition ReadoutGeo.h:79
dd4hep::Position GetSensorLocalPosition(CellIDType id, dd4hep::Position pos) const
Definition ReadoutGeo.cc:133
int m_num_px
Definition ReadoutGeo.h:82
int m_num_sipms_per_pdu
Definition ReadoutGeo.h:81
decltype(edm4hep::SimTrackerHitData::cellID) CellIDType
Definition RichGeo.h:14