|  | ATLAS Offline Software
    | 
 
 
 
Go to the documentation of this file.
    7 #include "GeoModelKernel/throwExcept.h" 
   12     ostr<<
"slope: "<<std::setprecision(15)<<
obj.slope;
 
   13     ostr<<
" intercept: "<<std::setprecision(15)<<
obj.intercept;
 
   20     m_idHelperSvc{idHelperSvc} {
 
   21         m_pdo_data.resize(m_nStgcElements + m_nMmElements);
 
   22         m_tdo_data.resize(m_nStgcElements + m_nMmElements);
 
   29         return static_cast<unsigned int>(
hash)*(idHelper.gasGapMax()) + (idHelper.gasGap(chan_id) -1);
 
   32         return static_cast<unsigned int>(
hash)*(idHelper.gasGapMax() * 3 ) +
 
   33                (idHelper.gasGap(chan_id) -1  + idHelper.gasGapMax() * idHelper.channelType(chan_id)) + 
m_nMmElements;
 
   58             calib_mod.
layer_id = idHelper.channelID(chnlId, idHelper.multilayer(chnlId), idHelper.gasGap(chnlId), 1);
 
   61             calib_mod.
layer_id = idHelper.channelID(chnlId, idHelper.multilayer(chnlId), idHelper.gasGap(chnlId), idHelper.channelType(chnlId), 1);
 
   86 std::vector<Identifier>
 
   88     std::vector<Identifier> chnls;
 
   90     chnls.reserve(calibMap.size());
 
   93         if (
module.channels.empty()) 
continue;
 
   98             if (tech == 
"STGC") 
continue;
 
  100             for (
unsigned int chn = 1 ; chn <= 
module.channels.size() ; ++chn) {
 
  101                 if (!
module.channels[chn -1]) 
continue;
 
  103                 chnls.push_back(idHelper.channelID(
module.layer_id, 
 
  104                                                    idHelper.multilayer(
module.layer_id), 
 
  105                                                    idHelper.gasGap(
module.layer_id), chn ));
 
  108             if (tech == 
"MM") 
break;
 
  110             for (
unsigned int chn = 1 ; chn <= 
module.channels.size() ; ++chn) {
 
  111                 if (!
module.channels[chn -1]) 
continue;
 
  112                 chnls.push_back(idHelper.channelID(
module.layer_id, 
 
  113                                                    idHelper.multilayer(
module.layer_id), 
 
  114                                                    idHelper.gasGap(
module.layer_id),  
 
  115                                                    idHelper.channelType(
module.layer_id), chn ));
 
  128     if (calibMap.at(array_idx).channels.size() > 
channel && calibMap[array_idx].channels[
channel]) {
 
  129         return calibMap[array_idx].channels[
channel].get();
 
  137     std::map<MuonCond::CalibTechType, ZeroCalibMap>::const_iterator itr = 
m_zero.find(tech);
 
  140         ZeroCalibMap::const_iterator type_itr = zeroMap.find(
type);
 
  141         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)
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
#define THROW_EXCEPTION(MESSAGE)
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.