SFrame 3.6
core/include/ISCycleBaseConfig.h
Go to the documentation of this file.
00001 // Dear emacs, this is -*- c++ -*-
00002 // $Id: ISCycleBaseConfig.h 155 2010-04-08 17:05:09Z krasznaa $
00003 /***************************************************************************
00004  * @Project: SFrame - ROOT-based analysis framework for ATLAS
00005  * @Package: Core
00006  *
00007  * @author Stefan Ask       <Stefan.Ask@cern.ch>           - Manchester
00008  * @author David Berge      <David.Berge@cern.ch>          - CERN
00009  * @author Johannes Haller  <Johannes.Haller@cern.ch>      - Hamburg
00010  * @author A. Krasznahorkay <Attila.Krasznahorkay@cern.ch> - CERN/Debrecen
00011  *
00012  ***************************************************************************/
00013 
00014 #ifndef SFRAME_CORE_ISCycleBaseConfig_H
00015 #define SFRAME_CORE_ISCycleBaseConfig_H
00016 
00017 // Local include(s):
00018 #include "SError.h"
00019 
00020 // Forward declaration(s):
00021 class TXMLNode;
00022 class SCycleConfig;
00023 class TList;
00024 
00037 class ISCycleBaseConfig {
00038 
00039 public:
00040    virtual ~ISCycleBaseConfig() {}
00041 
00043    virtual void Initialize( TXMLNode* ) throw( SError ) = 0;
00044 
00046    virtual const SCycleConfig& GetConfig() const = 0;
00048    virtual SCycleConfig& GetConfig() = 0;
00050    virtual void SetConfig( const SCycleConfig& config ) = 0;
00051 
00053    virtual const TList& GetConfigurationObjects() const = 0;
00054 
00056    virtual void SetConfInput( TList* input ) = 0;
00058    virtual TList* GetConfInput() const = 0;
00059 
00060 }; // class ISCycleBaseConfig
00061 
00062 #endif // SFRAME_CORE_ISCycleBaseConfig_H