|
ATLAS Offline Software
|
Go to the documentation of this file.
7 #include "Identifier/Identifier.h"
8 #include "GeoModelHelpers/throwExcept.h"
11 ostr<<
"slope: "<<std::setprecision(15)<<
obj.slope;
12 ostr<<
" intercept: "<<std::setprecision(15)<<
obj.intercept;
19 m_idHelperSvc{idHelperSvc} {
20 m_pdo_data.resize(m_nStgcElements + m_nMmElements);
21 m_tdo_data.resize(m_nStgcElements + m_nMmElements);
28 return static_cast<unsigned int>(
hash)*(idHelper.gasGapMax()) + (idHelper.gasGap(chan_id) -1);
31 return static_cast<unsigned int>(
hash)*(idHelper.gasGapMax() * 3 ) +
32 (idHelper.gasGap(chan_id) -1 + idHelper.gasGapMax() * idHelper.channelType(chan_id)) +
m_nMmElements;
57 calib_mod.
layer_id = idHelper.channelID(chnlId, idHelper.multilayer(chnlId), idHelper.gasGap(chnlId), 1);
60 calib_mod.
layer_id = idHelper.channelID(chnlId, idHelper.multilayer(chnlId), idHelper.gasGap(chnlId), idHelper.channelType(chnlId), 1);
85 std::vector<Identifier>
87 std::vector<Identifier> chnls;
89 chnls.reserve(calibMap.size());
92 if (
module.channels.empty())
continue;
97 if (tech ==
"STGC")
continue;
99 for (
unsigned int chn = 1 ; chn <=
module.channels.size() ; ++chn) {
100 if (!
module.channels[chn -1])
continue;
102 chnls.push_back(idHelper.channelID(
module.layer_id,
103 idHelper.multilayer(
module.layer_id),
104 idHelper.gasGap(
module.layer_id), chn ));
107 if (tech ==
"MM")
break;
109 for (
unsigned int chn = 1 ; chn <=
module.channels.size() ; ++chn) {
110 if (!
module.channels[chn -1])
continue;
111 chnls.push_back(idHelper.channelID(
module.layer_id,
112 idHelper.multilayer(
module.layer_id),
113 idHelper.gasGap(
module.layer_id),
114 idHelper.channelType(
module.layer_id), chn ));
127 if (calibMap.at(array_idx).channels.size() >
channel && calibMap[array_idx].channels[
channel]) {
128 return calibMap[array_idx].channels[
channel].get();
136 std::map<MuonCond::CalibTechType, ZeroCalibMap>::const_iterator itr =
m_zero.find(tech);
139 ZeroCalibMap::const_iterator type_itr = zeroMap.find(
type);
140 if(type_itr != zeroMap.end())
return &type_itr->second;
void setData(CalibDataType type, const Identifier &chnlId, CalibConstants constants)
virtual const sTgcIdHelper & stgcIdHelper() const =0
access to TgcIdHelper
Helper struct to cache all calibration constants in a common place of the memory.
const size_t m_nMmElements
Segmentation of the elements is per NSW gasGap. Each wedge has 4 gasgaps.
virtual int stationEta(const Identifier &id) const =0
Return stationEta for all technologies.
#define ATH_MSG_VERBOSE(x)
#define THROW_EXCEPTION(MSG)
virtual const MmIdHelper & mmIdHelper() const =0
access to CscIdHelper
void setZero(CalibDataType type, MuonCond::CalibTechType tech, CalibConstants constants)
const CalibConstants * getZeroCalibChannel(const CalibDataType type, const MuonCond::CalibTechType tech) const
Returns the dummy calibration constant for the given technology type.
ChannelCalibMap m_tdo_data
int channel(const Identifier &id) const override
std::vector< std::unique_ptr< CalibConstants > > channels
Class to provide easy MsgStream access and capabilities.
NswCalibDbTimeChargeData(const Muon::IMuonIdHelperSvc *idHelperSvc)
std::map< MuonCond::CalibTechType, ZeroCalibMap > m_zero
virtual bool isMM(const Identifier &id) const =0
returns whether this is a MM Identifier or not
std::vector< CalibModule > ChannelCalibMap
const Muon::IMuonIdHelperSvc * m_idHelperSvc
std::vector< Identifier > getChannelIds(const CalibDataType type, const std::string &tech, const std::string &side) const
std::ostream & operator<<(std::ostream &ostr, const NswCalibDbTimeChargeData::CalibConstants &obj)
int channel(const Identifier &id) const override
virtual std::string toString(const Identifier &id) const =0
print all fields to string
ChannelCalibMap m_pdo_data
std::map< CalibDataType, CalibConstants > ZeroCalibMap
Interface for Helper service that creates muon Identifiers and can be used to print Identifiers.
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
int identToModuleIdx(const Identifier &chan_id) const
const CalibConstants * getCalibForChannel(const CalibDataType type, const Identifier &channelId) const
Retrieves the calibration constant for a particular readout channel.
virtual bool issTgc(const Identifier &id) const =0
returns whether this is a sTGC Identifier or not
virtual IdentifierHash detElementHash(const Identifier &id) const =0
Returns the detector element hash associated to an Identifier.