4#ifndef PIXEL_GEO_UTILS_H
5#define PIXEL_GEO_UTILS_H
10#include "Identifier/Identifier.h"
13#define MSG_HELPER(LEVEL,body) if (this->msgLvl(LEVEL)) { this->msg(LEVEL) << body << endmsg;} do {} while (0)
14#define GEO_MSG_DEBUG(body) MSG_HELPER(MSG::DEBUG,body)
15#define GEO_MSG_INFO(body) MSG_HELPER(MSG::INFO,body)
16#define GEO_MSG_WARNING(body) MSG_HELPER(MSG::WARNING,body)
17#define GEO_MSG_ERROR(body) MSG_HELPER(MSG::ERROR,body)
31 virtual MsgStream&
msg (
const MSG::Level lvl)
const = 0;
32 virtual bool msgLvl (
const MSG::Level lvl)
const = 0;
38 const std::array<int,kNDirections> &circuits,
39 const std::array<int,kNDirections> &dimPerCircuit,
44 template <
class T_MsgParent>
48 virtual MsgStream&
msg (
const MSG::Level lvl)
const override {
return m_msgParent->msg(lvl); }
53 template <
class T_MsgParent>
56 const std::array<int,kNDirections> &circuits,
57 const std::array<int,kNDirections> &dimPerCircuit,
62 auto ret=maker.
make(readoutTechnology, circuits, dimPerCircuit, pitch, fe_numbering);
This is an Identifier helper class for the Pixel subdetector.
Tree structure to find the position, index or pitch of a pixel on a semi-regular grid The grid is con...
PixelDiodeTree makePixelDiodeTree(T_MsgParent *gmt_mgr, InDetDD::PixelReadoutTechnology readoutTechnology, const std::array< int, kNDirections > &circuits, const std::array< int, kNDirections > &dimPerCircuit, const std::array< std::array< double, kNDirections >, kNPixelLocations > &pitch, FENumbering fe_numbering)
virtual ~MessagingAdapter()=default
virtual MsgStream & msg(const MSG::Level lvl) const =0
virtual bool msgLvl(const MSG::Level lvl) const =0
PixelDiodeTree make(InDetDD::PixelReadoutTechnology readoutTechnology, const std::array< int, kNDirections > &circuits, const std::array< int, kNDirections > &dimPerCircuit, const std::array< std::array< double, kNDirections >, kNPixelLocations > &pitch, FENumbering fe_numbering)
virtual bool msgLvl(const MSG::Level lvl) const override
T_MsgParent * m_msgParent
virtual MsgStream & msg(const MSG::Level lvl) const override
PixelDiodeTreeMaker(T_MsgParent *msgParent)