|
ATLAS Offline Software
|
#include <STGC_ROD_Decoder.h>
|
| STGC_ROD_Decoder (const std::string &t, const std::string &n, const IInterface *p) |
|
virtual | ~STGC_ROD_Decoder ()=default |
|
virtual StatusCode | initialize () override |
|
virtual StatusCode | fillCollection (const EventContext &ctx, const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment &, const std::vector< IdentifierHash > &, std::unordered_map< IdentifierHash, std::unique_ptr< STGC_RawDataCollection >> &rdo_map) const override |
| Convert ROBFragments to RDOs. More...
|
|
| DeclareInterfaceID (Muon::ISTGC_ROD_Decoder, 1, 0) |
|
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 22 of file STGC_ROD_Decoder.h.
◆ StoreGateSvc_t
◆ STGC_ROD_Decoder()
Muon::STGC_ROD_Decoder::STGC_ROD_Decoder |
( |
const std::string & |
t, |
|
|
const std::string & |
n, |
|
|
const IInterface * |
p |
|
) |
| |
◆ ~STGC_ROD_Decoder()
virtual Muon::STGC_ROD_Decoder::~STGC_ROD_Decoder |
( |
| ) |
|
|
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]
◆ DeclareInterfaceID()
◆ 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
◆ fillCollection()
Convert ROBFragments to RDOs.
Implements Muon::ISTGC_ROD_Decoder.
Definition at line 49 of file STGC_ROD_Decoder.cxx.
60 return StatusCode::SUCCESS;
66 if(!readCondHandle.isValid()){
68 return StatusCode::FAILURE;
70 dcsData = readCondHandle.cptr();
76 if(!readCondHandle.isValid()){
78 return StatusCode::FAILURE;
80 sTgcCablingMap = readCondHandle.cptr();
85 if (!muonGeoMgrHandle.isValid()) {
86 ATH_MSG_FATAL(
"Failed to retrieve the detector manager from the conditions store");
87 return StatusCode::FAILURE;
93 bool seeded_mode(!rdoIdhVect.empty());
97 const std::vector<Muon::nsw::NSWElink *>& elinks = common_decoder.get_elinks();
99 if (elinks.empty())
return StatusCode::SUCCESS;
103 for (
auto* elink : elinks) {
106 if (elink->isNull())
continue;
110 const char*
station_name = elink->elinkId()->is_large_station() ?
"STL" :
"STS";
112 unsigned int station_phi = (
unsigned int)elink->elinkId()->station_phi();
113 unsigned int multi_layer = (
unsigned int)elink->elinkId()->multi_layer();
114 unsigned int gas_gap = (
unsigned int)elink->elinkId()->gas_gap();
121 if (seeded_mode &&
std::find(rdoIdhVect.begin(), rdoIdhVect.end(), module_hashID) == rdoIdhVect.end())
continue;
122 std::unique_ptr<STGC_RawDataCollection>& rdo = rdo_map[module_hashID];
123 if (!rdo) rdo = std::make_unique<STGC_RawDataCollection>(module_hashID);
126 const std::vector<Muon::nsw::VMMChannel*>&
channels = elink->get_channels();
128 unsigned int channel_number =
channel->channel_number();
130 if (channel_number == 0)
continue;
133 if (sTgcCablingMap) {
134 std::optional<Identifier> correctedChannelId = sTgcCablingMap->correctChannel(channel_ID, msgStream());
135 if (!correctedChannelId) {
136 ATH_MSG_DEBUG(
"Channel was shifted outside its connector and is therefore not decoded into and RDO");
139 channel_ID = (*correctedChannelId);
141 bool isOuterQ1{
false};
144 if (!roElement->
stripPosition(channel_ID, localPos))
continue;
145 isOuterQ1 = !(roElement->
isEtaZero(channel_ID, localPos));
148 if (dcsData && !dcsData->isGood(ctx, channel_ID, isOuterQ1))
continue;
149 bool timeAndChargeInCounts =
true;
150 rdo->push_back(
new STGC_RawData(channel_ID,
channel->rel_bcid(),
channel->tdo(),
channel->pdo(),
false,timeAndChargeInCounts));
154 return StatusCode::SUCCESS;
◆ initialize()
StatusCode Muon::STGC_ROD_Decoder::initialize |
( |
| ) |
|
|
overridevirtual |
◆ 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.
◆ 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_cablingKey
◆ m_DetectorManagerKey
Initial value:{this, "DetectorManagerKey", "MuonDetectorManager",
"Key of input MuonDetectorManager condition data"}
Definition at line 34 of file STGC_ROD_Decoder.h.
◆ m_detStore
◆ m_dscKey
Initial value:{this, "DcsKey", "NswDcsDbData",
"Key of NswDcsDbData object containing DCS conditions data"}
Definition at line 36 of file STGC_ROD_Decoder.h.
◆ m_evtStore
◆ m_stgcIdHelper
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
def retrieve(aClass, aKey=None)
std::string find(const std::string &s)
return a remapped string
Eigen::Matrix< double, 2, 1 > Vector2D
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Identifier channelID(int stationName, int stationEta, int stationPhi, int multilayer, int gasGap, int channelType, int channel) const
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
bool isEtaZero(const Identifier &id, const Amg::Vector2D &localPosition) const
is eta=0 of QL1 or QS1? Support for Strip and Pad cathodes is valid when the Strip,...
bool empty() const
Test if the key is blank.
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual void setOwner(IDataHandleHolder *o)=0
virtual bool stripPosition(const Identifier &id, Amg::Vector2D &pos) const override final
strip position - should be renamed to channel position If the strip number is outside the range of va...
SG::ReadCondHandleKey< Nsw_CablingMap > m_cablingKey
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager > m_DetectorManagerKey
const sTgcIdHelper * m_stgcIdHelper
An sTgcReadoutElement corresponds to a single STGC module; therefore typicaly a barrel muon station c...
SG::ReadCondHandleKey< NswDcsDbData > m_dscKey
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
StatusCode initialize(bool used=true)
Identifier elementID(int stationName, int stationEta, int stationPhi) const
virtual int get_module_hash(const Identifier &id, IdentifierHash &hash_id) const override
The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and pro...
#define ATH_MSG_WARNING(x)
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
const sTgcReadoutElement * getsTgcReadoutElement(const Identifier &id) const
access via extended identifier (requires unpacking)
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
string station_name
Simple script to generate a BIS78 cabling map as used for the Monte Carlo processing.
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>