|
ATLAS Offline Software
|
#include <MuonLayerHashProviderTool.h>
|
const HashVec & | getHashes (int sector, MuonStationIndex::TechnologyIndex technologyIndex, unsigned int sectorLayerHash) const |
| access hashes for a given sector, technology and layer hash More...
|
|
const HashVec & | getHashes (const Identifier &id) const |
| access hashes in a given sector and layer using an identifier More...
|
|
bool | hashInSector (IdentifierHash hash, int sector, MuonStationIndex::TechnologyIndex technologyIndex, unsigned int sectorLayerHash) const |
| check whether a collection hash is part of given sector, technology and sector layer hash More...
|
|
| MuonLayerHashProviderTool (const std::string &type, const std::string &name, const IInterface *parent) |
| Default AlgTool functions. More...
|
|
virtual | ~MuonLayerHashProviderTool ()=default |
|
StatusCode | initialize () |
|
ServiceHandle< StoreGateSvc > & | evtStore () |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | evtStore () const |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | detStore () const |
| The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
virtual StatusCode | sysInitialize () override |
| Perform system initialization for an algorithm. More...
|
|
virtual StatusCode | sysStart () override |
| Handle START transition. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. More...
|
|
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T > &t) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc="none") |
| Declare a new Gaudi property. More...
|
|
void | updateVHKA (Gaudi::Details::PropertyBase &) |
|
MsgStream & | msg () const |
|
MsgStream & | msg (const MSG::Level lvl) const |
|
bool | msgLvl (const MSG::Level lvl) const |
|
Definition at line 20 of file MuonLayerHashProviderTool.h.
◆ HashVec
◆ RegionHashesPerSectorCit
◆ RegionHashesPerSectorVec
◆ RegionHashVec
◆ RegionHashVecCit
◆ StoreGateSvc_t
◆ TechnologyRegionHashVec
◆ MuonLayerHashProviderTool()
Muon::MuonLayerHashProviderTool::MuonLayerHashProviderTool |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
parent |
|
) |
| |
◆ ~MuonLayerHashProviderTool()
virtual Muon::MuonLayerHashProviderTool::~MuonLayerHashProviderTool |
( |
| ) |
|
|
virtualdefault |
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleBase
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 245 of file AthCommonDataStore.h.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
253 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleKey
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 221 of file AthCommonDataStore.h.
229 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This is the generic version, for types that do not derive from SG::VarHandleKey
. It just forwards to the base class version of declareProperty
.
Definition at line 333 of file AthCommonDataStore.h.
338 return PBASE::declareProperty(
name, property,
doc);
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This dispatches to either the generic declareProperty
or the one for VarHandle/Key/KeyArray.
Definition at line 352 of file AthCommonDataStore.h.
◆ declareProperty() [6/6]
◆ detStore()
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ extraDeps_update_handler()
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
◆ getHashes() [1/2]
◆ getHashes() [2/2]
◆ hashInSector()
check whether a collection hash is part of given sector, technology and sector layer hash
Definition at line 84 of file MuonLayerHashProviderTool.h.
86 const std::vector<IdentifierHash>&
hashes =
getHashes(sector,technologyIndex,sectorLayerHash);
◆ initialize()
StatusCode Muon::MuonLayerHashProviderTool::initialize |
( |
| ) |
|
◆ initializeSectorMapping()
bool Muon::MuonLayerHashProviderTool::initializeSectorMapping |
( |
| ) |
|
|
private |
initialize the mapping structure
Definition at line 108 of file MuonLayerHashProviderTool.cxx.
118 it->resize(nsectorHashMax);
134 for(
int sector = 1; sector<=16; ++sector ){
138 for(
unsigned int hash = 0;
hash < nsectorHashMax; ++
hash ){
142 currentRegion = regionLayer.first;
152 <<
" " << std::setw(4) <<
vec[tech][
hash].size();
◆ inputHandles()
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ insertHash() [1/2]
◆ insertHash() [2/2]
◆ insertTechnology()
void Muon::MuonLayerHashProviderTool::insertTechnology |
( |
const MuonIdHelper & |
idHelper | ) |
|
|
private |
◆ insertTgcs()
bool Muon::MuonLayerHashProviderTool::insertTgcs |
( |
| ) |
|
|
private |
insert hashes for the tgcs
Definition at line 59 of file MuonLayerHashProviderTool.cxx.
68 MuonSectorMapping sectorMapping;
73 for( ;
it!=it_end; ++
it ){
80 int nstrips = detEl->
nStrips(1);
83 std::vector<int> sectors1;
84 sectorMapping.getSectors(
p1.phi(),sectors1);
88 for( ;sit!=sit_end; ++sit ){
93 std::vector<int> sectors2;
94 sectorMapping.getSectors(
p2.phi(),sectors2);
95 sit = sectors2.begin();
96 sit_end = sectors2.end();
97 for( ;sit!=sit_end; ++sit ){
98 if( added.count(*sit) )
continue;
◆ interfaceID()
static const InterfaceID& Muon::MuonLayerHashProviderTool::interfaceID |
( |
| ) |
|
|
inlinestatic |
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ outputHandles()
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ renounce()
◆ renounceArray()
◆ sysInitialize()
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ updateVHKA()
◆ m_detStore
◆ m_evtStore
◆ m_idHelperSvc
◆ m_ntechnologies
unsigned int Muon::MuonLayerHashProviderTool::m_ntechnologies |
|
private |
◆ m_regionHashesPerSector
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
def retrieve(aClass, aKey=None)
JetConstituentVector::iterator iterator
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
static unsigned int sectorLayerHashMax()
maximum create a hash out of region and layer
LayerIndex
enum to classify the different layers in the muon spectrometer
static unsigned int sectorLayerHash(DetectorRegionIndex detectorRegionIndex, LayerIndex layerIndex)
create a hash out of region and layer
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
bool msgLvl(const MSG::Level lvl) const
const_id_iterator module_end() const
std::vector< size_t > vec
void stable_sort(std::reverse_iterator< DataModel_detail::iterator< DVL > > beg, std::reverse_iterator< DataModel_detail::iterator< DVL > > end, Compare comp)
Specialization of stable_sort for DataVector/List.
Amg::Vector3D channelPos(const Identifier &id) const
Returns the position of the active channel (wireGang or strip)
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual void setOwner(IDataHandleHolder *o)=0
static unsigned int numberOfSectors()
return total number of sectors
const TgcReadoutElement * getTgcReadoutElement(const Identifier &id) const
access via extended identifier (requires unpacking)
static std::pair< DetectorRegionIndex, LayerIndex > decomposeSectorLayerHash(unsigned int hash)
decompose the hash into Region and Layer
static const std::string & regionName(DetectorRegionIndex index)
convert DetectorRegionIndex into a string
virtual int get_module_hash(const Identifier &id, IdentifierHash &hash_id) const
A TgcReadoutElement corresponds to a single TGC chamber; therefore typically a TGC station contains s...
static const std::string & layerName(LayerIndex index)
convert LayerIndex into a string
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
int nStrips(int gasGap) const
Returns the number of strips in a given gas gap.
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
DetectorRegionIndex
enum to classify the different layers in the muon spectrometer
Eigen::Matrix< double, 3, 1 > Vector3D
The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and pro...
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
std::vector< Identifier >::const_iterator const_id_iterator
const_id_iterator module_begin() const
Iterators over full set of ids.
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
TechnologyIndex
enum to classify the different layers in the muon spectrometer
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
static const std::string & technologyName(TechnologyIndex index)
convert LayerIndex into a string