/search.css" rel="stylesheet" type="text/css"/> /search.js">
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

Public Member Functions | Private Attributes
StageProcessor< HEADER > Class Template Reference

Base class for all stage processor algorithms. More...

#include <StageProcessor.h>

Collaboration diagram for StageProcessor< HEADER >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 StageProcessor (const std::string &name, ISvcLocator *pSvcLocator)
virtual ~StageProcessor ()
StatusCode initialize ()
 Sub class must call me.
StatusCode registerData (IStageData &data)
IStagethisStage ()
IStagelowerStage ()

Private Attributes

std::string m_thisStageName
std::string m_lowerStageName
IStagem_thisStage
IStagem_lowerStage
IStageDataManagerm_sdmgr

Detailed Description

template<class HEADER>
class StageProcessor< HEADER >

Base class for all stage processor algorithms.

This is a Sim15 version of DybAlgorithm

Brett Viren <bv@bnl.gov> Thu Mar 24 12:19:08 2011

Definition at line 25 of file StageProcessor.h.


Constructor & Destructor Documentation

template<class HeaderType >
StageProcessor< HeaderType >::StageProcessor ( const std::string &  name,
ISvcLocator *  pSvcLocator 
)

Definition at line 55 of file StageProcessor.h.

    : DybAlgorithm<HEADER>(name,pSvcLocator)
{
    declareProperty("ThisStageName",m_thisStageName = "", "Name of this stage");
    declareProperty("LowerStageName",m_lowerStageName = "", "Name of the lower stage");

    this->m_pullMode = true;
}
template<class HeaderType >
StageProcessor< HeaderType >::~StageProcessor ( ) [virtual]

Definition at line 66 of file StageProcessor.h.

{
}

Member Function Documentation

template<class HeaderType >
StatusCode StageProcessor< HeaderType >::initialize ( )

Sub class must call me.

Definition at line 71 of file StageProcessor.h.

{
    // infinite loop?
    StatusCode sc = DybAlgorithm<HEADER>::initialize();
    if (sc.isFailure()) return sc;

    // should probably make this configurable one day
    sc = this->service("StageDataManager",m_sdmgr);
    if (sc.isFailure()) return sc;


    this->debug() << "This Stage " <<m_thisStageName <<endreq;
    this->debug() << "Lower Stage " <<m_lowerStageName <<endreq;

    if ("" == m_thisStageName) {
        this->error() << "Not configured with a stage name" << endreq;
        return StatusCode::FAILURE;
    }

    sc = this->toolSvc()->retrieveTool("Stage",m_thisStageName,m_thisStage);
    if ( sc.isFailure() ) {
        this->error() << "Error retrieving the public tool" << endreq;
        return sc;
    }

    if ("" != m_lowerStageName) {
        sc= this->toolSvc()->retrieveTool("Stage",m_lowerStageName,m_lowerStage);
        if( sc.isFailure() ) {
            this->error() << "Error retrieving the public tool" << endreq;
            return StatusCode::FAILURE;
        }
    }
    return StatusCode::SUCCESS;
}
template<class HEADER >
StatusCode StageProcessor< HEADER >::registerData ( IStageData data)

Definition at line 107 of file StageProcessor.h.

{
    return m_sdmgr->registerData(this->Location(), data);
}
template<class HEADER >
IStage* StageProcessor< HEADER >::thisStage ( ) [inline]

Definition at line 37 of file StageProcessor.h.

{ return m_thisStage; }
template<class HEADER >
IStage* StageProcessor< HEADER >::lowerStage ( ) [inline]

Definition at line 38 of file StageProcessor.h.

{ return m_lowerStage; }

Member Data Documentation

template<class HEADER >
std::string StageProcessor< HEADER >::m_thisStageName [private]

Definition at line 42 of file StageProcessor.h.

template<class HEADER >
std::string StageProcessor< HEADER >::m_lowerStageName [private]

Definition at line 43 of file StageProcessor.h.

template<class HEADER >
IStage* StageProcessor< HEADER >::m_thisStage [private]

Definition at line 45 of file StageProcessor.h.

template<class HEADER >
IStage* StageProcessor< HEADER >::m_lowerStage [private]

Definition at line 46 of file StageProcessor.h.

template<class HEADER >
IStageDataManager* StageProcessor< HEADER >::m_sdmgr [private]

Definition at line 49 of file StageProcessor.h.


The documentation for this class was generated from the following files:
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Fri May 16 2014 10:07:33 for Stage by doxygen 1.7.4