This implementes the methods for IDecisionSvc.  
 More...
#include <DecisionSvc.h>
This implementes the methods for IDecisionSvc. 
- Author
- S.Binetbinet.nosp@m.@cer.nosp@m.n.ch 
- 
B.Radicsradba.nosp@m.l@ce.nosp@m.rn.ch 
Definition at line 30 of file DecisionSvc.h.
◆ DecisionSvc()
      
        
          | DecisionSvc::DecisionSvc | ( | const std::string & | name, | 
        
          |  |  | ISvcLocator * | pSvcLocator | 
        
          |  | ) |  |  | 
      
 
 
◆ ~DecisionSvc()
  
  | 
        
          | DecisionSvc::~DecisionSvc | ( |  | ) |  |  | virtual | 
 
 
◆ addAcceptAlg()
  
  | 
        
          | StatusCode DecisionSvc::addAcceptAlg | ( | const std::string & | name, |  
          |  |  | const std::string & | stream |  
          |  | ) |  |  |  | overridevirtual | 
 
Add an algorithm to the list of AcceptAlgs of a stream. 
Definition at line 163 of file DecisionSvc.cxx.
 
 
◆ addRequireAlg()
  
  | 
        
          | StatusCode DecisionSvc::addRequireAlg | ( | const std::string & | name, |  
          |  |  | const std::string & | stream |  
          |  | ) |  |  |  | overridevirtual | 
 
Add an algorithm to the list of RequireAlgs of a stream. 
Definition at line 173 of file DecisionSvc.cxx.
 
 
◆ addStream()
  
  | 
        
          | StatusCode DecisionSvc::addStream | ( | const std::string & | stream | ) |  |  | overridevirtual | 
 
Add a stream. 
Definition at line 98 of file DecisionSvc.cxx.
  107       status = StatusCode::FAILURE;
 
  110       std::vector<std::string> tmpvec;
 
  114       status = StatusCode::SUCCESS;
 
 
 
 
◆ addVetoAlg()
  
  | 
        
          | StatusCode DecisionSvc::addVetoAlg | ( | const std::string & | name, |  
          |  |  | const std::string & | stream |  
          |  | ) |  |  |  | overridevirtual | 
 
Add an algorithm to the list of VetoAlgs of a stream. 
Definition at line 184 of file DecisionSvc.cxx.
 
 
◆ ATLAS_NOT_THREAD_SAFE() [1/2]
  
  | 
        
          | StatusCode DeclareToCutFlowSvc DecisionSvc::ATLAS_NOT_THREAD_SAFE | ( |  | ) |  |  | private | 
 
 
◆ ATLAS_NOT_THREAD_SAFE() [2/2]
  
  | 
        
          | virtual StatusCode start DecisionSvc::ATLAS_NOT_THREAD_SAFE | ( |  | ) |  |  | overridevirtual | 
 
 
◆ fillMap()
  
  | 
        
          | StatusCode DecisionSvc::fillMap | ( | std::map< std::string, std::vector< std::string > > & | streamsModeMap, |  
          |  |  | const std::string & | name, |  
          |  |  | const std::string & | stream |  
          |  | ) |  |  |  | private | 
 
Definition at line 121 of file DecisionSvc.cxx.
  125   std::map<std::string, std::vector<std::string> >
::iterator it = streamsModeMap.find(
stream);
 
  126   if(
it != streamsModeMap.end()){
 
  130     bool algexist = 
false;
 
  132     for(
auto vit = (
it->second).begin();
 
  133              vit != (
it->second).end(); ++vit) {
 
  138                        << 
" of stream " << 
stream 
  139                        << 
" has already been registered!");
 
  140         return StatusCode::FAILURE;
 
  147     if(algexist == 
false){
 
  148       std::vector<std::string> &tmpvec = 
it->second;
 
  149       tmpvec.push_back(
name);
 
  154     std::vector<std::string> tmpvec;
 
  155     tmpvec.push_back(
name);
 
  156     streamsModeMap[
stream] = std::move(tmpvec);
 
  159   return StatusCode::SUCCESS;
 
 
 
 
◆ finalize()
  
  | 
        
          | StatusCode DecisionSvc::finalize | ( |  | ) |  |  | overridevirtual | 
 
 
◆ getAcceptAlgs()
  
  | 
        
          | const std::vector< std::string > DecisionSvc::getAcceptAlgs | ( | const std::string & | stream | ) | const |  | overridevirtual | 
 
Return list of AcceptAlg names. 
Definition at line 202 of file DecisionSvc.cxx.
  206   return std::vector<std::string>();
 
 
 
 
◆ getRequireAlgs()
  
  | 
        
          | const std::vector< std::string > DecisionSvc::getRequireAlgs | ( | const std::string & | stream | ) | const |  | overridevirtual | 
 
Return list of RequireAlg names. 
Definition at line 211 of file DecisionSvc.cxx.
  215   return std::vector<std::string>();
 
 
 
 
◆ getStreams()
  
  | 
        
          | const std::vector< std::string > DecisionSvc::getStreams | ( |  | ) | const |  | overridevirtual | 
 
 
◆ getVetoAlgs()
  
  | 
        
          | const std::vector< std::string > DecisionSvc::getVetoAlgs | ( | const std::string & | stream | ) | const |  | overridevirtual | 
 
Return list of VetoAlg names. 
Definition at line 220 of file DecisionSvc.cxx.
  224   return std::vector<std::string>();
 
 
 
 
◆ initialize()
  
  | 
        
          | StatusCode DecisionSvc::initialize | ( |  | ) |  |  | overridevirtual | 
 
 
◆ interpretAlgMap()
  
  | 
        
          | StatusCode DecisionSvc::interpretAlgMap | ( |  | ) |  |  | private | 
 
Definition at line 64 of file DecisionSvc.cxx.
   69   std::set<std::string> uniStreams;
 
   74     uniStreams.insert(
iter->first);
 
   79     uniStreams.insert(
iter->first);
 
   84     uniStreams.insert(
iter->first);
 
 
 
 
◆ isEventAccepted() [1/2]
  
  | 
        
          | bool DecisionSvc::isEventAccepted | ( | const std::string & | stream | ) | const |  | overridevirtual | 
 
 
◆ isEventAccepted() [2/2]
  
  | 
        
          | bool DecisionSvc::isEventAccepted | ( | const std::string & | stream, |  
          |  |  | const EventContext & | ectx |  
          |  | ) |  | const |  | overridevirtual | 
 
Definition at line 244 of file DecisionSvc.cxx.
  253   bool found_accept = 
false;
 
  254   bool found_require = 
false;
 
  255   bool found_veto = 
false;
 
  262     const auto &vecAlgs = itAlgs->second;
 
  267     if ( ! vecAlgs.empty( ) ) {
 
  269       for (
auto it = vecAlgs.begin(); 
it != vecAlgs.end(); 
it++) {
 
  271         isE = (
m_algstateSvc->algExecState(*
it,ectx).state() == AlgExecState::State::Done);
 
  284     found_require = 
true;
 
  286     const auto &vecAlgs = itAlgs->second;
 
  291     if ( ! vecAlgs.empty( ) ) {
 
  292       for (
auto it = vecAlgs.begin(); 
it != vecAlgs.end(); 
it++) {
 
  294         isE = (
m_algstateSvc->algExecState(*
it,ectx).state() == AlgExecState::State::Done);
 
  309     const auto &vecAlgs = itAlgs->second;
 
  314     if ( ! vecAlgs.empty( ) ) {
 
  315       for (
auto it = vecAlgs.begin(); 
it != vecAlgs.end(); 
it++) {
 
  317         isE = (
m_algstateSvc->algExecState(*
it,ectx).state() == AlgExecState::State::Done);
 
  327   if(found_accept == 
false && found_require == 
false && found_veto == 
false){
 
  328     ATH_MSG_DEBUG(
"Stream: " << 
stream << 
" not found registered in DecisionSvc -- accepting event by default ");
 
 
 
 
◆ m_algstateSvc
◆ m_calcStats
  
  | 
        
          | Gaudi::Property<bool> DecisionSvc::m_calcStats {this, "CalcStats", false} |  | private | 
 
 
◆ m_cutflowSvc
◆ m_evtStore
◆ m_frozen
  
  | 
        
          | bool DecisionSvc::m_frozen {false} |  | private | 
 
 
◆ m_stream_accept
  
  | 
        
          | std::map<std::string, std::vector<std::string> > DecisionSvc::m_stream_accept |  | private | 
 
Maps of streams – algorithm names' vectors. 
Definition at line 89 of file DecisionSvc.h.
 
 
◆ m_stream_require
  
  | 
        
          | std::map<std::string, std::vector<std::string> > DecisionSvc::m_stream_require |  | private | 
 
 
◆ m_stream_veto
  
  | 
        
          | std::map<std::string, std::vector<std::string> > DecisionSvc::m_stream_veto |  | private | 
 
 
◆ m_streamNames
  
  | 
        
          | std::vector<std::string> DecisionSvc::m_streamNames |  | private | 
 
 
The documentation for this class was generated from the following files: