|
ATLAS Offline Software
|
Go to the documentation of this file.
18 #include "GaudiKernel/FileIncident.h"
46 return StatusCode::SUCCESS;
54 std::lock_guard<CallMutex> lockGuard(
m_callLock);
58 for (
const auto&
tool : m_helperTools) {
59 if (!
tool->preNext().isSuccess()) {
67 return StatusCode::FAILURE;
72 return StatusCode::FAILURE;
78 return StatusCode::FAILURE;
82 for (
const auto&
tool : m_helperTools) {
84 if (toolStatus.isRecoverable()) {
87 status = StatusCode::RECOVERABLE;
89 }
else if (toolStatus.isFailure()) {
91 status = StatusCode::FAILURE;
94 if (
status.isRecoverable()) {
96 }
else if (
status.isFailure()) {
106 return StatusCode::SUCCESS;
115 for (
int i = 0;
i < jump;
i++) {
116 if (!
next(ctxt).isSuccess()) {
117 return StatusCode::FAILURE;
120 return StatusCode::SUCCESS;
123 return StatusCode::FAILURE;
134 return StatusCode::SUCCESS;
146 ATH_MSG_WARNING(
"Fewer secondary input events than primary input events. Expect trouble!");
155 ATH_MSG_DEBUG(
"DoubleEventSelectorAthenaPool::recordAttributeList");
162 std::unique_ptr<AthenaAttributeList> athAttrList{};
167 athAttrList = std::make_unique<AthenaAttributeList>();
176 athAttrList = std::make_unique<AthenaAttributeList>(attrList);
186 athAttrList->extend(
"hasSecondaryInput",
"bool");
187 (*athAttrList)[
"hasSecondaryInput"].data<
bool>() =
true;
190 if (!
wh.record(std::move(athAttrList)).isSuccess()) {
192 return StatusCode::FAILURE;
195 return StatusCode::SUCCESS;
209 if (inc.type() == IncidentType::BeginProcessing) {
220 ATH_MSG_WARNING(
"could not read event source ID from incident event context with key EventSelector");
224 ATH_MSG_DEBUG(
"** MN Incident handler " << inc.type() <<
" Event source ID=" << fid1 );
225 if( inc.type() == IncidentType::BeginProcessing ) {
227 m_activeEventsPerSource[fid1]++;
228 }
else if( inc.type() == IncidentType::EndProcessing ) {
229 m_activeEventsPerSource[fid1]--;
234 for(
auto&
source: m_activeEventsPerSource )
245 if (inc.type() == IncidentType::BeginProcessing) {
256 ATH_MSG_WARNING(
"could not read event source ID from incident event context with key SecondaryEventSelector");
260 ATH_MSG_DEBUG(
"** MN Incident handler " << inc.type() <<
" Event source ID=" << fid2 );
261 if( inc.type() == IncidentType::BeginProcessing ) {
263 m_activeEventsPerSource[fid2]++;
264 }
else if( inc.type() == IncidentType::EndProcessing ) {
265 m_activeEventsPerSource[fid2]--;
270 for(
auto&
source: m_activeEventsPerSource )
ServiceHandle< ISecondaryEventSelector > m_secondarySelector
SG::SlotSpecificObj< SG::SourceID > m_sourceID2
virtual StatusCode fillAttributeList(coral::AttributeList *attrList, const std::string &suffix, bool copySource) const override
Fill AttributeList with specific items from the selector and a suffix.
This file contains the class definition for the PoolCollectionConverter class.
bool hasExtendedEventContext(const EventContext &ctx)
Test whether a context object has an extended context installed.
T * get(const EventContext &ctx)
Return pointer to the object for slot given by ctx.
StoreGateSvc * eventStore() const
Return pointer to active event SG.
virtual StatusCode next(IEvtSelector::Context &ctxt) const override
This class is the EventSelector for event data.
SG::SlotSpecificObj< SG::SourceID > m_sourceID1
Gaudi::Property< std::string > m_secondaryAttrListSuffix
bool m_secondaryByteStream
ToolHandle< IAthenaSelectorTool > m_counterTool
const ExtendedEventContext & getExtendedEventContext(const EventContext &ctx)
Retrieve an extended context from a context object.
Gaudi::Property< std::string > m_attrListKey
AttributeList SG key.
::StatusCode StatusCode
StatusCode definition for legacy code.
virtual StatusCode recordAttributeList() const override
Record AttributeList in StoreGate.
virtual bool disconnectIfFinished(const SG::SourceID &fid) const override
friend class DoubleEventSelectorAthenaPool
make the DoubleEventSelectorAthenaPool a friend so it can access the internal EventSelectorAthenaPool...
This file contains the class definition for the DoubleEventSelectorAthenaPool class.
virtual StatusCode seek(Context &ctxt, int evtNum) const override
Seek to a given event number.
virtual StatusCode nextWithSkip(IEvtSelector::Context &ctxt) const override
Go to next event and skip if necessary.
virtual ~DoubleEventSelectorAthenaPool()
Destructor.
virtual StatusCode initialize() override
Initialize function.
virtual StatusCode initialize() override
Required of all Gaudi Services.
std::atomic_int m_evtCount
#define ATH_MSG_WARNING(x)
virtual void handle(const Incident &incident) override
Incident service handle listening for BeginProcessing and EndProcessing.
virtual int size(Context &ctxt) const override
Return the size of the collection.
This file contains the class definition for the Token class (migrated from POOL).
static const std::string & storeName(const StoreID::type &s)
virtual StatusCode seek(Context &ctxt, int evtnum) const override
Seek to a given event number.
virtual int size(Context &ctxt) const override
Return the size of the collection.