Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Functions
DecisionSvc.cxx File Reference
#include "DecisionSvc.h"
#include "GaudiKernel/EventContext.h"
#include "PersistentDataModel/AthenaAttributeList.h"
#include <algorithm>
Include dependency graph for DecisionSvc.cxx:

Go to the source code of this file.

Functions

StatusCode DecisionSvc::start ATLAS_NOT_THREAD_SAFE ()
 Install fatal handler with default options. More...
 

Function Documentation

◆ ATLAS_NOT_THREAD_SAFE()

StatusCode DecisionSvc::start ATLAS_NOT_THREAD_SAFE ( )

Install fatal handler with default options.

This is meant to be easy to call from python via ctypes.

Definition at line 334 of file DecisionSvc.cxx.

335 {
336  ATH_MSG_DEBUG("in start");
337  CHECK( this->interpretAlgMap() );
338  m_frozen = true;
339 
340  // lambda to return true if second element is non-empty
341  auto teststreams = [](const auto& m)
342  {
343  for (const auto& p : m)
344  if (!p.second.empty()) return true;
345  return false;
346  };
347 
348  //Retrieve CutFlowSvc if (and only if) needed
349  if( teststreams(m_stream_accept) || teststreams(m_stream_require) || teststreams(m_stream_veto)) {
350  if (!m_cutflowSvc.empty())
351  {
352  if (m_cutflowSvc.retrieve().isFailure())
353  {
354  ATH_MSG_ERROR("Cannot get ICutFlowSvc interface.");
355  return StatusCode::RECOVERABLE;
356  }
357  }
358  }
359 
360  //Now that everything is said and done, match filters with stream and logic in CutFlowSvc
361  return DeclareToCutFlowSvc();
362 }
python.SystemOfUnits.m
int m
Definition: SystemOfUnits.py:91
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
CHECK
#define CHECK(...)
Evaluate an expression and check for errors.
Definition: Control/AthenaKernel/AthenaKernel/errorcheck.h:422