ATLAS Offline Software
Loading...
Searching...
No Matches
SCT_TdaqEnabledCondAlg Class Reference

#include <SCT_TdaqEnabledCondAlg.h>

Inheritance diagram for SCT_TdaqEnabledCondAlg:
Collaboration diagram for SCT_TdaqEnabledCondAlg:

Public Member Functions

 SCT_TdaqEnabledCondAlg (const std::string &name, ISvcLocator *pSvcLocator)
virtual ~SCT_TdaqEnabledCondAlg ()=default
virtual StatusCode initialize () override final
virtual StatusCode execute (const EventContext &ctx) const override final
virtual StatusCode finalize () override final
virtual bool isReEntrant () const override
 Avoid scheduling algorithm multiple times.
virtual StatusCode sysInitialize () override
 Override sysInitialize.
virtual bool isClonable () const override
 Specify if the algorithm is clonable.
virtual unsigned int cardinality () const override
 Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant.
virtual StatusCode sysExecute (const EventContext &ctx) override
 Execute an algorithm.
virtual const DataObjIDColl & extraOutputDeps () const override
 Return the list of extra output dependencies.
virtual bool filterPassed (const EventContext &ctx) const
virtual void setFilterPassed (bool state, const EventContext &ctx) const
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual StatusCode sysStart () override
 Handle START transition.
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles.
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles.
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T, V, H > &t)
void updateVHKA (Gaudi::Details::PropertyBase &)
MsgStream & msg () const
bool msgLvl (const MSG::Level lvl) const

Protected Member Functions

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.

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t

Private Member Functions

bool unfilledRun (const EventContext &ctx) const
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey>

Static Private Member Functions

static unsigned int parseChannelName (const std::string &chanNameString)
static std::string inWords (const unsigned int aNumber)

Private Attributes

SG::ReadCondHandleKey< CondAttrListCollectionm_readKey {this, "ReadKey", "/TDAQ/Resources/ATLAS/SCT/Robins", "Key of input (raw) conditions folder"}
SG::WriteCondHandleKey< SCT_TdaqEnabledCondDatam_writeKey {this, "WriteKey", "SCT_TdaqEnabledCondData", "Key of output (derived) conditions data"}
ToolHandle< ISCT_CablingToolm_cablingTool {this, "SCT_CablingTool", "SCT_CablingTool", "Tool to retrieve SCT Cabling"}
SCT_OnlineId m_onlineId {}
DataObjIDColl m_extendedExtraObjects
 Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default)
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
bool m_varHandleArraysDeclared

Static Private Attributes

static const unsigned int s_NRODS {128}
static const unsigned int s_modulesPerRod {48}
static const unsigned int s_earliestRunForFolder {119253}
static const unsigned int s_earliestTimeStampForFolder {1245064619}

Detailed Description

Definition at line 19 of file SCT_TdaqEnabledCondAlg.h.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ SCT_TdaqEnabledCondAlg()

SCT_TdaqEnabledCondAlg::SCT_TdaqEnabledCondAlg ( const std::string & name,
ISvcLocator * pSvcLocator )

Definition at line 11 of file SCT_TdaqEnabledCondAlg.cxx.

12 : ::AthCondAlgorithm(name, pSvcLocator)
13{
14}

◆ ~SCT_TdaqEnabledCondAlg()

virtual SCT_TdaqEnabledCondAlg::~SCT_TdaqEnabledCondAlg ( )
virtualdefault

Member Function Documentation

◆ cardinality()

unsigned int AthCommonReentrantAlgorithm< Gaudi::Algorithm >::cardinality ( ) const
overridevirtualinherited

Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant.

Override this to return 0 for reentrant algorithms.

Definition at line 75 of file AthCommonReentrantAlgorithm.cxx.

64{
65 return 0;
66}

◆ declareGaudiProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::declareGaudiProperty ( Gaudi::Property< T, V, H > & hndl,
const SG::VarHandleKeyType &  )
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158 {
160 hndl.value(),
161 hndl.documentation());
162
163 }
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)

◆ declareProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::declareProperty ( Gaudi::Property< T, V, H > & t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145 {
146 typedef typename SG::HandleClassifier<T>::type htype;
148 }
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>

◆ detStore()

const ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

◆ evtStore()

ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

◆ execute()

StatusCode SCT_TdaqEnabledCondAlg::execute ( const EventContext & ctx) const
finaloverridevirtual

Definition at line 32 of file SCT_TdaqEnabledCondAlg.cxx.

33{
34 ATH_MSG_DEBUG("execute " << name());
35
36 // Write Cond Handle
37 SG::WriteCondHandle<SCT_TdaqEnabledCondData> writeHandle{m_writeKey, ctx};
38
39 // Do we have a valid Write Cond Handle for current time?
40 if (writeHandle.isValid()) {
41 ATH_MSG_DEBUG("CondHandle " << writeHandle.fullKey() << " is already valid."
42 << ". In theory this should not be called, but may happen"
43 << " if multiple concurrent events are being processed out of order.");
44 return StatusCode::SUCCESS;
45 }
46
47 // Construct the output Cond Object and fill it in
48 std::unique_ptr<SCT_TdaqEnabledCondData> writeCdo{std::make_unique<SCT_TdaqEnabledCondData>()};
49 // clear structures before filling
50 writeCdo->clear();
51
52 // Define validity of the output cond obbject and record it
53 EventIDRange rangeW;
54
55 // check whether we expect valid data at this time
56 if (unfilledRun(ctx)) {
57 EventIDBase unfilledStart{0, 0, 0, 0}; // run 0, event 0, timestamp 0, timestamp_ns 0
58 EventIDBase unfilledStop{s_earliestRunForFolder, 0, s_earliestTimeStampForFolder, 0}; // run 119253, event 0, timestamp 1245064619, timestamp_ns 0
59 EventIDRange unfilledRange{unfilledStart, unfilledStop};
60 rangeW = unfilledRange;
61 writeCdo->setNoneBad(true);
62 writeCdo->setFilled(true);
63 } else {
64 // Read Cond Handle
65 SG::ReadCondHandle<CondAttrListCollection> readHandle{m_readKey, ctx};
66 const CondAttrListCollection* readCdo{*readHandle};
67 if (readCdo==nullptr) {
68 ATH_MSG_FATAL("Null pointer to the read conditions object");
69 return StatusCode::FAILURE;
70 }
71
72 ATH_MSG_INFO("Size of CondAttrListCollection readCdo->size()= " << readCdo->size());
73
76 // CondAttrListCollection doesnt support C++11 type loops, no generic 'begin'
77 for (; attrList!=end; ++attrList) {
78 // A CondAttrListCollection is a map of ChanNum and AttributeList
79 CondAttrListCollection::ChanNum channelNumber{attrList->first};
80 const CondAttrListCollection::AttributeList &payload{attrList->second};
81 const std::string &enabled{payload["class"].data<std::string>()};
82 const std::string& chanName{readCdo->chanName(channelNumber)};
83 unsigned int rodNumber{parseChannelName(chanName)};
84 // range check on the rod channel number has been removed, since it refers both to existing channel names
85 // which can be rods in slots 1-128 but also historical names which have since been removed
86 if (SCT_OnlineId::rodIdInRange(rodNumber)) {
87 if ((not enabled.empty()) and (not writeCdo->setGoodRod(rodNumber))) {
88 ATH_MSG_WARNING("Set insertion failed for rod "<<rodNumber);
89 }
90 } else {
91 ATH_MSG_WARNING("Names in "<<m_readKey.key()<<" should be of the form ROL-SCT-BA-00-210000 this channel, number "<<channelNumber<<", is: "<<chanName);
92 }
93 }
94
95 if (writeCdo->getGoodRods().size()>s_NRODS) {
96 ATH_MSG_FATAL("The number of rods declared as good appears to be greater than the permissible number of rods ("<<s_NRODS<<")");
97 writeCdo->setFilled(false);
98 return StatusCode::FAILURE;
99 }
100
101 long unsigned int nBad{s_NRODS-writeCdo->getGoodRods().size()};
102 std::string howMany{inWords(nBad)};
103 ATH_MSG_DEBUG(howMany << " declared bad in the database.");
104
105 // provide short-cut for no rods bad (hopefully the most common case)
106 writeCdo->setNoneBad(nBad==0);
107 if (writeCdo->isNoneBad()) {
108 writeCdo->setFilled(true);
109 } else {
110 // now find the modules which belong to those rods...
111 // const int modulesPerRod(48);
112 std::vector<IdentifierHash> tmpIdVec{0};
113 tmpIdVec.reserve(s_modulesPerRod);
114 for (const auto& thisRod : writeCdo->getGoodRods()) {
115 tmpIdVec.clear();
116 m_cablingTool->getHashesForRod(tmpIdVec, thisRod, ctx);
117 writeCdo->setGoodModules(tmpIdVec);
118 }
119 writeCdo->setFilled(true);
120 }
121
122 if (not readHandle.range(rangeW)) {
123 ATH_MSG_FATAL("Failed to retrieve validity range for " << readHandle.key());
124 return StatusCode::FAILURE;
125 }
126 }
127
128 if (writeHandle.record(rangeW, std::move(writeCdo)).isFailure()) {
129 ATH_MSG_FATAL("Could not record SCT_TdaqEnabledCondData " << writeHandle.key()
130 << " with EventRange " << rangeW
131 << " into Conditions Store");
132 return StatusCode::FAILURE;
133 }
134 ATH_MSG_INFO("recorded new CDO " << writeHandle.key() << " with range " << rangeW << " into Conditions Store");
135
136 return StatusCode::SUCCESS;
137}
#define ATH_MSG_FATAL(x)
#define ATH_MSG_INFO(x)
#define ATH_MSG_WARNING(x)
#define ATH_MSG_DEBUG(x)
const_iterator end() const
const_iterator begin() const
Access to Chan/AttributeList pairs via iterators.
const std::string & chanName(ChanNum chanNum) const
find name for particular channel
size_type size() const
number of Chan/AttributeList pairs
ChanAttrListMap::const_iterator const_iterator
coral::AttributeList AttributeList
static bool rodIdInRange(std::uint32_t r)
Is the rod in range?
static unsigned int parseChannelName(const std::string &chanNameString)
static const unsigned int s_modulesPerRod
static const unsigned int s_NRODS
static const unsigned int s_earliestRunForFolder
ToolHandle< ISCT_CablingTool > m_cablingTool
SG::ReadCondHandleKey< CondAttrListCollection > m_readKey
SG::WriteCondHandleKey< SCT_TdaqEnabledCondData > m_writeKey
bool unfilledRun(const EventContext &ctx) const
static std::string inWords(const unsigned int aNumber)
static const unsigned int s_earliestTimeStampForFolder
bool range(EventIDRange &r)
const std::string & key() const
const std::string & key() const
StatusCode record(const EventIDRange &range, T *t)
record handle, with explicit range DEPRECATED
const DataObjID & fullKey() const

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase & ExtraDeps)
protectedinherited

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 & AthCommonReentrantAlgorithm< Gaudi::Algorithm >::extraOutputDeps ( ) const
overridevirtualinherited

Return the list of extra output dependencies.

This list is extended to include symlinks implied by inheritance relations.

Definition at line 94 of file AthCommonReentrantAlgorithm.cxx.

90{
91 // If we didn't find any symlinks to add, just return the collection
92 // from the base class. Otherwise, return the extended collection.
93 if (!m_extendedExtraObjects.empty()) {
95 }
97}
An algorithm that can be simultaneously executed in multiple threads.

◆ filterPassed()

virtual bool AthCommonReentrantAlgorithm< Gaudi::Algorithm >::filterPassed ( const EventContext & ctx) const
inlinevirtualinherited

Definition at line 96 of file AthCommonReentrantAlgorithm.h.

96 {
97 return execState( ctx ).filterPassed();
98 }
virtual bool filterPassed(const EventContext &ctx) const

◆ finalize()

StatusCode SCT_TdaqEnabledCondAlg::finalize ( )
finaloverridevirtual

Definition at line 139 of file SCT_TdaqEnabledCondAlg.cxx.

140{
141 ATH_MSG_DEBUG("finalize " << name());
142 return StatusCode::SUCCESS;
143}

◆ initialize()

StatusCode SCT_TdaqEnabledCondAlg::initialize ( )
finaloverridevirtual

Definition at line 16 of file SCT_TdaqEnabledCondAlg.cxx.

17{
18 ATH_MSG_DEBUG("initialize " << name());
19
20 // SCT cabling tool
21 ATH_CHECK(m_cablingTool.retrieve());
22
23 // Read Cond Handle
24 ATH_CHECK(m_readKey.initialize());
25
26 // Write Cond Handle
27 ATH_CHECK(m_writeKey.initialize());
28
29 return StatusCode::SUCCESS;
30}
#define ATH_CHECK
Evaluate an expression and check for errors.

◆ inputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::inputHandles ( ) const
overridevirtualinherited

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.

◆ inWords()

std::string SCT_TdaqEnabledCondAlg::inWords ( const unsigned int aNumber)
staticprivate

Definition at line 170 of file SCT_TdaqEnabledCondAlg.cxx.

170 {
171 switch (aNumber){
172 case 0:
173 return std::string("No SCT rods were");
174 break;
175 case 1:
176 return std::string("One SCT rod was");
177 break;
178 default:
179 return std::to_string(aNumber) + " SCT rods were"; //C++11
180 break;
181 }
182}

◆ isClonable()

◆ isReEntrant()

virtual bool AthCondAlgorithm::isReEntrant ( ) const
inlineoverridevirtualinherited

Avoid scheduling algorithm multiple times.

With multiple concurrent events, conditions objects often expire simultaneously for all slots. To avoid that the scheduler runs the CondAlg in each slot, we declare it as "non-reentrant". This ensures that the conditions objects are only created once.

In case a particular CondAlg should behave differently, it can override this method again and return true.

See also
ATEAM-836

Definition at line 39 of file AthCondAlgorithm.h.

39{ return false; }

◆ msg()

MsgStream & AthCommonMsg< Gaudi::Algorithm >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24 {
25 return this->msgStream();
26 }

◆ msgLvl()

bool AthCommonMsg< Gaudi::Algorithm >::msgLvl ( const MSG::Level lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30 {
31 return this->msgLevel(lvl);
32 }

◆ outputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::outputHandles ( ) const
overridevirtualinherited

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.

◆ parseChannelName()

unsigned int SCT_TdaqEnabledCondAlg::parseChannelName ( const std::string & chanNameString)
staticprivate

Definition at line 154 of file SCT_TdaqEnabledCondAlg.cxx.

154 {
155 unsigned int result{0};
156 const long unsigned int length{chanNameString.size()};
157 if (length < 19) return result; //very rough check on sanity of string, should use regex
158 //get the last six numbers, these are in hex
159 std::istringstream iss{chanNameString.substr(length-6, 6)};
160 iss.exceptions(std::ios_base::badbit|std::ios_base::failbit);
161 try{
162 iss>>std::hex>>result;
163 } catch (const std::ios_base::failure&){ //bad conversion to int
164 std::cerr<<"Bad conversion of last 6 digits of "<<chanNameString<<" to a hex number"<<std::endl;
165 throw(std::ios_base::failure("stringToInt failure in SCT_TdaqEnabledSvc"));
166 }
167 return result;
168}
double length(const pvec &v)

◆ renounce()

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 > AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::renounce ( T & h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381 {
382 h.renounce();
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()

void AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::renounceArray ( SG::VarHandleKeyArray & handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364 {
366 }

◆ setFilterPassed()

virtual void AthCommonReentrantAlgorithm< Gaudi::Algorithm >::setFilterPassed ( bool state,
const EventContext & ctx ) const
inlinevirtualinherited

Definition at line 100 of file AthCommonReentrantAlgorithm.h.

100 {
102 }
virtual void setFilterPassed(bool state, const EventContext &ctx) const

◆ sysExecute()

StatusCode AthCommonReentrantAlgorithm< Gaudi::Algorithm >::sysExecute ( const EventContext & ctx)
overridevirtualinherited

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.

Definition at line 85 of file AthCommonReentrantAlgorithm.cxx.

77{
78 return BaseAlg::sysExecute (ctx);
79}

◆ sysInitialize()

StatusCode AthCommonReentrantAlgorithm< Gaudi::Algorithm >::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< Gaudi::Algorithm > >.

Reimplemented in HypoBase, and InputMakerBase.

Definition at line 61 of file AthCommonReentrantAlgorithm.cxx.

107 {
109
110 if (sc.isFailure()) {
111 return sc;
112 }
113
114 ServiceHandle<ICondSvc> cs("CondSvc",name());
115 for (auto h : outputHandles()) {
116 if (h->isCondition() && h->mode() == Gaudi::DataHandle::Writer) {
117 // do this inside the loop so we don't create the CondSvc until needed
118 if ( cs.retrieve().isFailure() ) {
119 ATH_MSG_WARNING("no CondSvc found: won't autoreg WriteCondHandles");
120 return StatusCode::SUCCESS;
121 }
122 if (cs->regHandle(this,*h).isFailure()) {
124 ATH_MSG_ERROR("unable to register WriteCondHandle " << h->fullKey()
125 << " with CondSvc");
126 }
127 }
128 }
129 return sc;
130}
#define ATH_MSG_ERROR(x)
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ unfilledRun()

bool SCT_TdaqEnabledCondAlg::unfilledRun ( const EventContext & ctx) const
private

Definition at line 145 of file SCT_TdaqEnabledCondAlg.cxx.

145 {
146 const unsigned int runNumber{ctx.eventID().run_number()};
147 const bool noDataExpected{runNumber < s_earliestRunForFolder};
148 if (noDataExpected) ATH_MSG_INFO("This run occurred before the /TDAQ/EnabledResources/ATLAS/SCT/Robins folder was filled in COOL; assuming the SCT is all ok.");
149 return noDataExpected;
150}

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::updateVHKA ( Gaudi::Details::PropertyBase & )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308 {
309 // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310 // << " size: " << m_vhka.size() << endmsg;
311 for (auto &a : m_vhka) {
313 for (auto k : keys) {
314 k->setOwner(this);
315 }
316 }
317 }

Member Data Documentation

◆ m_cablingTool

ToolHandle<ISCT_CablingTool> SCT_TdaqEnabledCondAlg::m_cablingTool {this, "SCT_CablingTool", "SCT_CablingTool", "Tool to retrieve SCT Cabling"}
private

Definition at line 36 of file SCT_TdaqEnabledCondAlg.h.

36{this, "SCT_CablingTool", "SCT_CablingTool", "Tool to retrieve SCT Cabling"};

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_extendedExtraObjects

DataObjIDColl AthCommonReentrantAlgorithm< Gaudi::Algorithm >::m_extendedExtraObjects
privateinherited

Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.

Empty if no symlinks were found.

Definition at line 114 of file AthCommonReentrantAlgorithm.h.

◆ m_onlineId

SCT_OnlineId SCT_TdaqEnabledCondAlg::m_onlineId {}
private

Definition at line 38 of file SCT_TdaqEnabledCondAlg.h.

38{};

◆ m_readKey

SG::ReadCondHandleKey<CondAttrListCollection> SCT_TdaqEnabledCondAlg::m_readKey {this, "ReadKey", "/TDAQ/Resources/ATLAS/SCT/Robins", "Key of input (raw) conditions folder"}
private

Definition at line 34 of file SCT_TdaqEnabledCondAlg.h.

34{this, "ReadKey", "/TDAQ/Resources/ATLAS/SCT/Robins", "Key of input (raw) conditions folder"};

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.

◆ m_writeKey

SG::WriteCondHandleKey<SCT_TdaqEnabledCondData> SCT_TdaqEnabledCondAlg::m_writeKey {this, "WriteKey", "SCT_TdaqEnabledCondData", "Key of output (derived) conditions data"}
private

Definition at line 35 of file SCT_TdaqEnabledCondAlg.h.

35{this, "WriteKey", "SCT_TdaqEnabledCondData", "Key of output (derived) conditions data"};

◆ s_earliestRunForFolder

const unsigned int SCT_TdaqEnabledCondAlg::s_earliestRunForFolder {119253}
staticprivate

Definition at line 186 of file SCT_TdaqEnabledCondAlg.h.

204: public AthCondAlgorithm
205{
206 public:
207 SCT_TdaqEnabledCondAlg(const std::string& name, ISvcLocator* pSvcLocator);
208 virtual ~SCT_TdaqEnabledCondAlg() = default;
209 virtual StatusCode initialize() override final;
210 virtual StatusCode execute(const EventContext& ctx) const override final;
211 virtual StatusCode finalize() override final;
212
213 private:
214 bool unfilledRun(const EventContext& ctx) const;
215
216 static unsigned int parseChannelName(const std::string &chanNameString) ;
217 static std::string inWords(const unsigned int aNumber) ;
218
219 SG::ReadCondHandleKey<CondAttrListCollection> m_readKey{this, "ReadKey", "/TDAQ/Resources/ATLAS/SCT/Robins", "Key of input (raw) conditions folder"};
220 SG::WriteCondHandleKey<SCT_TdaqEnabledCondData> m_writeKey{this, "WriteKey", "SCT_TdaqEnabledCondData", "Key of output (derived) conditions data"};
221 ToolHandle<ISCT_CablingTool> m_cablingTool{this, "SCT_CablingTool", "SCT_CablingTool", "Tool to retrieve SCT Cabling"};
222
223 SCT_OnlineId m_onlineId{};
224
225 static const unsigned int s_NRODS;
226 static const unsigned int s_modulesPerRod;
227 static const unsigned int s_earliestRunForFolder;
228 static const unsigned int s_earliestTimeStampForFolder;
229};
230
231#endif // SCT_TDAQENABLEDCONDALG
virtual StatusCode execute(const EventContext &ctx) const override final
virtual ~SCT_TdaqEnabledCondAlg()=default
virtual StatusCode finalize() override final
SCT_TdaqEnabledCondAlg(const std::string &name, ISvcLocator *pSvcLocator)
virtual StatusCode initialize() override final
::StatusCode StatusCode
StatusCode definition for legacy code.
#define private

◆ s_earliestTimeStampForFolder

const unsigned int SCT_TdaqEnabledCondAlg::s_earliestTimeStampForFolder {1245064619}
staticprivate

Definition at line 187 of file SCT_TdaqEnabledCondAlg.h.

205: public AthCondAlgorithm
206{
207 public:
208 SCT_TdaqEnabledCondAlg(const std::string& name, ISvcLocator* pSvcLocator);
209 virtual ~SCT_TdaqEnabledCondAlg() = default;
210 virtual StatusCode initialize() override final;
211 virtual StatusCode execute(const EventContext& ctx) const override final;
212 virtual StatusCode finalize() override final;
213
214 private:
215 bool unfilledRun(const EventContext& ctx) const;
216
217 static unsigned int parseChannelName(const std::string &chanNameString) ;
218 static std::string inWords(const unsigned int aNumber) ;
219
220 SG::ReadCondHandleKey<CondAttrListCollection> m_readKey{this, "ReadKey", "/TDAQ/Resources/ATLAS/SCT/Robins", "Key of input (raw) conditions folder"};
221 SG::WriteCondHandleKey<SCT_TdaqEnabledCondData> m_writeKey{this, "WriteKey", "SCT_TdaqEnabledCondData", "Key of output (derived) conditions data"};
222 ToolHandle<ISCT_CablingTool> m_cablingTool{this, "SCT_CablingTool", "SCT_CablingTool", "Tool to retrieve SCT Cabling"};
223
224 SCT_OnlineId m_onlineId{};
225
226 static const unsigned int s_NRODS;
227 static const unsigned int s_modulesPerRod;
228 static const unsigned int s_earliestRunForFolder;
229 static const unsigned int s_earliestTimeStampForFolder;
230};
231
232#endif // SCT_TDAQENABLEDCONDALG

◆ s_modulesPerRod

const unsigned int SCT_TdaqEnabledCondAlg::s_modulesPerRod {48}
staticprivate

Definition at line 185 of file SCT_TdaqEnabledCondAlg.h.

203: public AthCondAlgorithm
204{
205 public:
206 SCT_TdaqEnabledCondAlg(const std::string& name, ISvcLocator* pSvcLocator);
207 virtual ~SCT_TdaqEnabledCondAlg() = default;
208 virtual StatusCode initialize() override final;
209 virtual StatusCode execute(const EventContext& ctx) const override final;
210 virtual StatusCode finalize() override final;
211
212 private:
213 bool unfilledRun(const EventContext& ctx) const;
214
215 static unsigned int parseChannelName(const std::string &chanNameString) ;
216 static std::string inWords(const unsigned int aNumber) ;
217
218 SG::ReadCondHandleKey<CondAttrListCollection> m_readKey{this, "ReadKey", "/TDAQ/Resources/ATLAS/SCT/Robins", "Key of input (raw) conditions folder"};
219 SG::WriteCondHandleKey<SCT_TdaqEnabledCondData> m_writeKey{this, "WriteKey", "SCT_TdaqEnabledCondData", "Key of output (derived) conditions data"};
220 ToolHandle<ISCT_CablingTool> m_cablingTool{this, "SCT_CablingTool", "SCT_CablingTool", "Tool to retrieve SCT Cabling"};
221
222 SCT_OnlineId m_onlineId{};
223
224 static const unsigned int s_NRODS;
225 static const unsigned int s_modulesPerRod;
226 static const unsigned int s_earliestRunForFolder;
227 static const unsigned int s_earliestTimeStampForFolder;
228};
229
230#endif // SCT_TDAQENABLEDCONDALG

◆ s_NRODS

const unsigned int SCT_TdaqEnabledCondAlg::s_NRODS {128}
staticprivate

Definition at line 184 of file SCT_TdaqEnabledCondAlg.h.

202: public AthCondAlgorithm
203{
204 public:
205 SCT_TdaqEnabledCondAlg(const std::string& name, ISvcLocator* pSvcLocator);
206 virtual ~SCT_TdaqEnabledCondAlg() = default;
207 virtual StatusCode initialize() override final;
208 virtual StatusCode execute(const EventContext& ctx) const override final;
209 virtual StatusCode finalize() override final;
210
211 private:
212 bool unfilledRun(const EventContext& ctx) const;
213
214 static unsigned int parseChannelName(const std::string &chanNameString) ;
215 static std::string inWords(const unsigned int aNumber) ;
216
217 SG::ReadCondHandleKey<CondAttrListCollection> m_readKey{this, "ReadKey", "/TDAQ/Resources/ATLAS/SCT/Robins", "Key of input (raw) conditions folder"};
218 SG::WriteCondHandleKey<SCT_TdaqEnabledCondData> m_writeKey{this, "WriteKey", "SCT_TdaqEnabledCondData", "Key of output (derived) conditions data"};
219 ToolHandle<ISCT_CablingTool> m_cablingTool{this, "SCT_CablingTool", "SCT_CablingTool", "Tool to retrieve SCT Cabling"};
220
221 SCT_OnlineId m_onlineId{};
222
223 static const unsigned int s_NRODS;
224 static const unsigned int s_modulesPerRod;
225 static const unsigned int s_earliestRunForFolder;
226 static const unsigned int s_earliestTimeStampForFolder;
227};
228
229#endif // SCT_TDAQENABLEDCONDALG

The documentation for this class was generated from the following files: