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