#include <InDetUpdateCaches.h>
Definition at line 19 of file InDetUpdateCaches.h.
◆ StoreGateSvc_t
◆ InDetUpdateCaches()
| InDetUpdateCaches::InDetUpdateCaches |
( |
const std::string & | name, |
|
|
ISvcLocator * | pSvcLocator ) |
Definition at line 22 of file InDetUpdateCaches.cxx.
22 :
25
28}
AthAlgorithm()
Default constructor:
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
◆ declareGaudiProperty()
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
158 {
161 hndl.documentation());
162
163 }
◆ 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()
◆ execute()
| StatusCode InDetUpdateCaches::execute |
( |
| ) |
|
Definition at line 69 of file InDetUpdateCaches.cxx.
69 {
72 msg(MSG::DEBUG) <<
"Updating caches during first execute" <<
endmsg;
74 }
76 }
77 return StatusCode::SUCCESS;
78}
◆ 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()
| const DataObjIDColl & AthAlgorithm::extraOutputDeps |
( |
| ) |
const |
|
overridevirtualinherited |
Return the list of extra output dependencies.
This list is extended to include symlinks implied by inheritance relations.
Definition at line 50 of file AthAlgorithm.cxx.
51{
52
53
56 }
57 return Algorithm::extraOutputDeps();
58}
DataObjIDColl m_extendedExtraObjects
◆ finalize()
| StatusCode InDetUpdateCaches::finalize |
( |
| ) |
|
◆ getMem()
| float InDetUpdateCaches::getMem |
( |
| ) |
|
|
private |
Definition at line 112 of file InDetUpdateCaches.cxx.
112 {
114 std::ostringstream is;
116 std::string spid=is.str();
117 std::string temp="cat /proc/"+spid+"/status | grep VmSize > mem.txt";
118 system(temp.c_str());
119 std::ifstream in("mem.txt");
120 std::string
text,mem,text1;
121 in>>
text>>mem>>text1;
122 system("rm -f mem.txt");
123 float memsize=
atof(mem.c_str());
124 return memsize;
125}
double atof(std::string_view str)
Converts a string into a double / float.
◆ initialize()
| StatusCode InDetUpdateCaches::initialize |
( |
| ) |
|
Definition at line 32 of file InDetUpdateCaches.cxx.
32 {
33 msg(MSG::INFO) <<
"initialize()" <<
endmsg;
35
36 const InDetDD::SCT_DetectorManager * sctManager = nullptr;
38 if (
sc.isFailure() || !sctManager) {
39 msg(MSG::WARNING) <<
"Could not find the SCT_DetectorManager" <<
endmsg;
40 } else {
41 msg(MSG::DEBUG) <<
"SCT_DetectorManager found" <<
endmsg;
43 }
44 const InDetDD::PixelDetectorManager * pixelManager = nullptr;
45 sc=
detStore()->retrieve(pixelManager,
"Pixel");
46 if (
sc.isFailure() || !pixelManager) {
47 msg(MSG::WARNING) <<
"Could not find the PixelDetectorManager" <<
endmsg;
48 } else {
49 msg(MSG::DEBUG) <<
"PixelDetectorManager found" <<
endmsg;
51 }
52 const InDetDD::TRT_DetectorManager * trtManager = nullptr;
54 if (
sc.isFailure() || !trtManager) {
55 msg(MSG::WARNING) <<
"Could not find the TRT_DetectorManager" <<
endmsg;
56 } else {
57 msg(MSG::DEBUG) <<
"TRT_DetectorManager found" <<
endmsg;
59 }
61 msg(MSG::DEBUG) <<
"Updating caches during initialize" <<
endmsg;
63 }
64 return StatusCode::SUCCESS;
65}
const ServiceHandle< StoreGateSvc > & detStore() const
std::vector< const InDetDD::InDetDetectorManager * > m_detManagers
::StatusCode StatusCode
StatusCode definition for legacy code.
◆ 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()
◆ msgLvl()
| bool AthCommonMsg< Algorithm >::msgLvl |
( |
const MSG::Level | lvl | ) |
const |
|
inlineinherited |
◆ 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()
◆ sysInitialize()
| StatusCode AthAlgorithm::sysInitialize |
( |
| ) |
|
|
overridevirtualinherited |
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< Algorithm > >.
Reimplemented in AthAnalysisAlgorithm, AthFilterAlgorithm, AthHistogramAlgorithm, and PyAthena::Alg.
Definition at line 66 of file AthAlgorithm.cxx.
66 {
68
71 }
72 ServiceHandle<ICondSvc> cs(
"CondSvc",
name());
74 if (
h->isCondition() &&
h->mode() == Gaudi::DataHandle::Writer) {
75
76 if ( cs.retrieve().isFailure() ) {
78 return StatusCode::SUCCESS;
79 }
80 if (cs->regHandle(this,*h).isFailure()) {
81 sc = StatusCode::FAILURE;
82 ATH_MSG_ERROR(
"unable to register WriteCondHandle " <<
h->fullKey()
83 << " with CondSvc");
84 }
85 }
86 }
88}
#define ATH_MSG_WARNING(x)
virtual StatusCode sysInitialize() override
Override sysInitialize.
AthCommonDataStore(const std::string &name, T... args)
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.
◆ updateAll()
| void InDetUpdateCaches::updateAll |
( |
| ) |
|
Definition at line 88 of file InDetUpdateCaches.cxx.
88 {
89 msg(MSG::DEBUG) <<
"Updating ..." <<
endmsg;
90 IChronoStatSvc* chrono = chronoSvc();
94 if (manager) {
95 std::string chronoTag =
manager->getName() +
name();
97 chrono->chronoStart( chronoTag );
98 msg(MSG::DEBUG) <<
"Updating " <<
manager->getName() <<
" caches ..." <<
endmsg;
100 msg(MSG::DEBUG) <<
"... done " <<
endmsg;
101 chrono->chronoStop(chronoTag);
102 float memUsed =
getMem() - memStart;
103 float uTime = chrono->chronoDelta(chronoTag, IChronoStatSvc::USER)/1000.;
104 msg(MSG::DEBUG) <<
"Memory used by UpdatedCaches for " <<
manager->getName() <<
" = " << memUsed/1024.0 <<
" MB" <<
endmsg;
105 msg(MSG::DEBUG) <<
"Time used by UpdatedCaches for " <<
manager->getName() <<
" = " << uTime <<
" ms" <<
endmsg;
106 }
107 }
108}
◆ 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
◆ m_detManagers
◆ m_detStore
◆ m_evtStore
◆ m_extendedExtraObjects
| DataObjIDColl AthAlgorithm::m_extendedExtraObjects |
|
privateinherited |
◆ m_first
| bool InDetUpdateCaches::m_first |
|
private |
◆ m_inExec
| bool InDetUpdateCaches::m_inExec |
|
private |
◆ m_inInit
| bool InDetUpdateCaches::m_inInit |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files: