#include <IDCCacheCreatorBase.h>
|
| template<bool checkKey = true, typename T> |
| StatusCode | createContainer (const SG::WriteHandleKey< T > &, long unsigned int, const EventContext &) const |
| template<bool checkKey = true, typename T, typename X> |
| StatusCode | createValueContainer (const SG::WriteHandleKey< T > &, long unsigned int, const EventContext &, const X &defaultValue) const |
| bool | isInsideView (const EventContext &) const |
| StatusCode | checkInsideViewOnce (const EventContext &) const |
| void | renounceArray (SG::VarHandleKeyArray &handlesArray) |
| | remove all handles from I/O resolution
|
| std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > | renounce (T &h) |
| void | extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps) |
| | Add StoreName to extra input/output deps as needed.
|
Definition at line 13 of file IDCCacheCreatorBase.h.
◆ StoreGateSvc_t
◆ IDCCacheCreatorBase()
| IDCCacheCreatorBase::IDCCacheCreatorBase |
( |
const std::string & | name, |
|
|
ISvcLocator * | pSvcLocator ) |
Constructor.
Definition at line 15 of file IDCCacheCreatorBase.cxx.
15 :
16AthReentrantAlgorithm(name,pSvcLocator)
17{
18
19}
◆ ~IDCCacheCreatorBase()
| virtual IDCCacheCreatorBase::~IDCCacheCreatorBase |
( |
| ) |
|
|
virtualdefault |
◆ checkInsideViewOnce()
| StatusCode IDCCacheCreatorBase::checkInsideViewOnce |
( |
const EventContext & | ctx | ) |
const |
|
protected |
Definition at line 21 of file IDCCacheCreatorBase.cxx.
22{
23 if(!m_disableWarningCheck.test_and_set(std::memory_order_relaxed)){
25 ATH_MSG_ERROR(
"CacheCreator is running inside a view, this is probably a misconfiguration");
26 return StatusCode::FAILURE;
27 }
28 }
29 return StatusCode::SUCCESS;
30}
bool isInsideView(const EventContext &) const
◆ createContainer()
template<bool checkKey, typename T>
| StatusCode IDCCacheCreatorBase::createContainer |
( |
const SG::WriteHandleKey< T > & | containerKey, |
|
|
long unsigned int | size, |
|
|
const EventContext & | ctx ) const |
|
protected |
Definition at line 31 of file IDCCacheCreatorBase.h.
31 {
32 static_assert(std::is_base_of<EventContainers::IdentifiableCacheBase, T>::value, "Expects a IdentifiableCache Class" );
33 if constexpr (checkKey){
34 if(containerKey.
key().empty()){
35 ATH_MSG_DEBUG(
"Creation of container "<< containerKey.
key() <<
" is disabled (no name specified)");
36 return StatusCode::SUCCESS;
37 }
38 }
39 SG::WriteHandle<T> ContainerCacheKey(containerKey, ctx);
40 ATH_CHECK( ContainerCacheKey.recordNonConst ( std::make_unique<T>(IdentifierHash(
size),
nullptr) ));
42 return StatusCode::SUCCESS;
43}
#define ATH_CHECK
Evaluate an expression and check for errors.
size_t size() const
Number of registered mappings.
const std::string & key() const
Return the StoreGate ID for the referenced object.
◆ createValueContainer()
template<bool checkKey, typename T, typename X>
| StatusCode IDCCacheCreatorBase::createValueContainer |
( |
const SG::WriteHandleKey< T > & | containerKey, |
|
|
long unsigned int | size, |
|
|
const EventContext & | ctx, |
|
|
const X & | defaultValue ) const |
|
protected |
Definition at line 46 of file IDCCacheCreatorBase.h.
46 {
47 static_assert(std::is_base_of<IdentifiableValueCache<X>,
T>::value,
"Expects a IdentifiableValueCache Class" );
48 if constexpr (checkKey){
49 if(containerKey.
key().empty()){
50 ATH_MSG_DEBUG(
"Creation of container "<< containerKey.
key() <<
" is disabled (no name specified)");
51 return StatusCode::SUCCESS;
52 }
53 }
54 SG::WriteHandle<T> ContainerCacheKey(containerKey, ctx);
55 ATH_CHECK( ContainerCacheKey.recordNonConst ( std::make_unique<T>(
size, defaultValue) ));
57 return StatusCode::SUCCESS;
58}
◆ declareGaudiProperty()
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
158 {
161 hndl.documentation());
162
163 }
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
◆ declareProperty()
Definition at line 145 of file AthCommonDataStore.h.
145 {
148 }
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
◆ detStore()
◆ evtStore()
◆ 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
◆ extraOutputDeps()
Return the list of extra output dependencies.
This list is extended to include symlinks implied by inheritance relations.
Definition at line 89 of file AthCommonAlgorithm.cxx.
54{
55
56
59 }
61}
Common base class for algorithms.
DataObjIDColl m_extendedExtraObjects
◆ filterPassed()
Get filter decision:
Definition at line 93 of file AthCommonAlgorithm.h.
93 {
95 }
virtual bool filterPassed(const EventContext &ctx) const
Get filter decision:
◆ 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.
◆ isClonable()
|
|
inlineoverridevirtualinherited |
Specify if the algorithm is clonable.
Only relevant for non-reentrant algorithms. Actual number of clones needs to be set via the "Cardinality" property.
Reimplemented in AFP_DigiTop, AlgB, AlgT, BCM_Digitization, CscDigitBuilder, CscDigitToCscRDO, G4AtlasAlg, G4RunAlg, HGTD_Digitization, HiveAlgBase, InDet::GNNSeedingTrackMaker, InDet::SCT_Clusterization, InDet::SiSPGNNTrackMaker, InDet::SiSPSeededTrackFinder, InDet::SiTrackerSpacePointFinder, ISF::SimKernelMT, ITk::StripDigitization, ITkPixelCablingAlg, ITkStripCablingAlg, LArHitEMapMaker, LArTTL1Maker, LUCID_DigiTop, LVL1::L1TopoSimulation, MergeCalibHits, MergeGenericMuonSimHitColl, MergeHijingPars, MergeMcEventCollection, MergeTrackRecordCollection, MergeTruthJets, MergeTruthParticles, MuonDigitizer, PileUpMTAlg, PixelDigitization, RoIBResultToxAOD, SCT_ByteStreamErrorsTestAlg, SCT_CablingCondAlgFromCoraCool, SCT_CablingCondAlgFromText, SCT_ConditionsParameterTestAlg, SCT_ConditionsSummaryTestAlg, SCT_ConfigurationConditionsTestAlg, SCT_Digitization, SCT_FlaggedConditionTestAlg, SCT_LinkMaskingTestAlg, SCT_MajorityConditionsTestAlg, SCT_ModuleVetoTestAlg, SCT_MonitorConditionsTestAlg, SCT_PrepDataToxAOD, SCT_RawDataToxAOD, SCT_ReadCalibChipDataTestAlg, SCT_ReadCalibDataTestAlg, SCT_RODVetoTestAlg, SCT_SensorsTestAlg, SCT_SiliconConditionsTestAlg, SCT_StripVetoTestAlg, SCT_TdaqEnabledTestAlg, SCT_TestCablingAlg, SCTEventFlagWriter, SCTRawDataProvider, SCTSiLorentzAngleTestAlg, SCTSiPropertiesTestAlg, SGInputLoader, Simulation::BeamEffectsAlg, TileHitVecToCnt, TileMuonFitter, TilePulseForTileMuonReceiver, TileRawChannelMaker, TRTDigitization, and ZDC_DigiTop.
Definition at line 68 of file AthCommonAlgorithm.h.
68 {
69 return true;
70 }
◆ isInsideView()
| bool IDCCacheCreatorBase::isInsideView |
( |
const EventContext & | context | ) |
const |
|
protected |
Definition at line 8 of file IDCCacheCreatorBase.cxx.
9{
11 const SG::View*
view =
dynamic_cast<const SG::View*
>(
proxy);
12 return view !=
nullptr;
13}
const ExtendedEventContext & getExtendedEventContext(const EventContext &ctx)
Retrieve an extended context from a context object.
◆ msg()
◆ 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()
Definition at line 380 of file AthCommonDataStore.h.
381 {
384 }
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce(T &h)
◆ renounceArray()
◆ setFilterPassed()
| virtual void AthCommonAlgorithm< Gaudi::Algorithm >::setFilterPassed |
( |
bool | state, |
|
|
const EventContext & | ctx ) const |
|
inlinevirtualinherited |
◆ sysExecute()
Execute an algorithm.
We override this in order to work around an issue with the Algorithm base class storing the event context in a member variable that can cause crashes in MT jobs.
Reimplemented in AthAnalysisAlgorithm.
Definition at line 80 of file AthCommonAlgorithm.cxx.
◆ sysInitialize()
Override sysInitialize.
Override sysInitialize from the base class.
Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc
Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc
Reimplemented from AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >.
Reimplemented in AthAnalysisAlgorithm, AthFilterAlgorithm, AthHistogramAlgorithm, HypoBase, InputMakerBase, and PyAthena::Alg.
Definition at line 60 of file AthCommonAlgorithm.cxx.
71 {
73
76 }
77
81
82 if (
cs.retrieve().isFailure() ) {
85 }
86 if (
cs->regHandle(
this,*
h).isFailure()) {
88 ATH_MSG_ERROR(
"unable to register WriteCondHandle " <<
h->fullKey()
89 << " with CondSvc");
90 }
91 }
92 }
94}
#define ATH_MSG_WARNING(x)
virtual StatusCode sysInitialize() override
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
◆ 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()
Definition at line 308 of file AthCommonDataStore.h.
308 {
309
310
313 for (
auto k :
keys) {
315 }
316 }
317 }
std::vector< SG::VarHandleKeyArray * > m_vhka
◆ ATLAS_THREAD_SAFE
| std::atomic_flag m_disableWarningCheck IDCCacheCreatorBase::ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT |
|
mutableprotected |
◆ m_detStore
◆ m_evtStore
◆ m_extendedExtraObjects
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
Empty if no symlinks were found.
Definition at line 108 of file AthCommonAlgorithm.h.
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files: