23#ifndef SIDIGITIZATION_SICHARGEDDIODECOLLECTION_H
24#define SIDIGITIZATION_SICHARGEDDIODECOLLECTION_H
30#include <unordered_map>
32#include "Identifier/Identifier.h"
63 std::equal_to<InDetDD::SiCellId>,
65 std::pair<const InDetDD::SiCellId, SiChargedDiode> > >
94 return a->diode().word() < b->diode().word();
146 return (
element()->identifierFromCellId(
id));
284 log << MSG::FATAL <<
"Could not create SiReadoutCellId object !"<<
endmsg;
STL-style allocator wrapper for ArenaPoolAllocator.
double charge(const T &p)
std::set< SiChargedDiode *, SiChargedDiodeOrderedSetCompare, SG::ArenaPoolSTLAllocator< SiChargedDiode * > > SiChargedDiodeOrderedSet
SiChargedDiodeMap::iterator SiChargedDiodeIterator
std::unordered_map< InDetDD::SiCellId, SiChargedDiode, SiChargedDiodeHash, std::equal_to< InDetDD::SiCellId >, SG::ArenaPoolSTLAllocator< std::pair< const InDetDD::SiCellId, SiChargedDiode > > > SiChargedDiodeMap
SiChargedDiodeOrderedSet::iterator SiChargedDiodeOrderedIterator
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
This class provides an abstract interface to an Identifiable object.
This is a "hash" representation of an Identifier.
Base class for the detector design classes for ITk and HGTD.
virtual SiReadoutCellId readoutIdOfCell(const SiCellId &cellId) const =0
diode id -> readout id NB assignment of a SiReadoutCellId to a SiCellId is allowed so you are can pas...
Identifier for the strip or pixel cell.
bool isValid() const
Test if its in a valid state.
Identifier for the strip or pixel readout cell.
Class to hold geometrical description of a solid state detector element.
STL-style allocator wrapper for ArenaPoolAllocator.
Identifier for the strip or pixel cell.
bool AlreadyHit(const InDetDD::SiCellId &siId)
virtual Identifier identify() const override final
SiChargedDiodeMap & chargedDiodes()
~SiChargedDiodeCollection()
void setDetectorElement(const InDetDD::SolidStateDetectorElementBase *SiElement)
SiChargedDiodeOrderedIterator orderedEnd()
SiChargedDiodeOrderedIterator orderedBegin()
SiChargedDiodeMap m_chargedDiodes
void emplace_charge(const InDetDD::SiCellId &diode, const T &charge)
SiChargedDiodeCollection & operator=(const SiChargedDiodeCollection &)
SiChargedDiodeIterator begin()
SiChargedDiodeCollection(const SiChargedDiodeCollection &)
const InDetDD::DetectorDesign & design() const
const InDetDD::SolidStateDetectorElementBase * m_sielement
SiChargedDiode * find(const InDetDD::SiCellId &siId)
virtual IdentifierHash identifyHash() const override final
SiChargedDiodeIterator end()
const AtlasDetectorID * id_helper()
Identifier getId(const InDetDD::SiCellId &id) const
SiChargedDiodeCollection()
const InDetDD::SolidStateDetectorElementBase * element() const
void add(const InDetDD::SiCellId &diode, const T &charge)
SiChargedDiodeOrderedSet m_orderedChargedDiodes
void add(const SiCharge &charge)
static void noise(SiChargedDiode &chDiode, bool flag, bool mask=false)
IMessageSvc * getMessageSvc(bool quiet=false)
size_t operator()(const InDetDD::SiCellId &id) const
size_t operator()(const SiChargedDiode *a, const SiChargedDiode *b) const