SFrame 3.6
|
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