SFrame 3.6
plug-ins/include/SOutputVariables.h
Go to the documentation of this file.
00001 // Dear emacs, this is -*- c++ -*-
00002 // $Id: SOutputVariables.h 189 2010-08-02 11:48:16Z krasznaa $
00003 /***************************************************************************
00004  * @Project: SFrame - ROOT-based analysis framework for ATLAS
00005  * @Package: Plug-ins
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_PLUGINS_SOutputVariables_H
00015 #define SFRAME_PLUGINS_SOutputVariables_H
00016 
00017 // SFrame include(s):
00018 #include "core/include/SError.h"
00019 
00020 // Forward declaration(s):
00021 class TBranch;
00022 
00037 template< class ParentType >
00038 class SOutputVariables {
00039 
00040 public:
00042    SOutputVariables( ParentType* parent );
00043 
00044 protected:
00046    template< typename T >
00047    TBranch* DeclareVariable( T& obj, const char* name,
00048                              const char* treeName = 0 ) throw( SError );
00049 
00050 private:
00051    ParentType* m_parent; 
00052 
00053 }; // class SInputVariables
00054 
00055 // Include the template implementation:
00056 #ifndef __CINT__
00057 #include "SOutputVariables.icc"
00058 #endif // __CINT__
00059 
00060 #endif // SFRAME_PLUGINS_SOutputVariables_H