/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Event/DecayChain/DecayChain-00-00-03-slc6tag/DecayChain/Function/DCAnalysisFunction.h

Go to the documentation of this file.
00001 #ifndef DCHAIN_ANALYSISFUNCTION_H
00002 #define DCHAIN_ANALYSISFUNCTION_H
00003 // -*- C++ -*-
00004 //
00005 // Package:     DChain
00006 // Module:      AnalysisFunction
00007 // 
00008 // Description: Base class for analysis functional objects
00009 //
00010 // Usage:
00011 //    <usage>
00012 //
00013 // Author:      Simon Patton
00014 // Created:     Wed Sep 18 15:46:35 EDT 1996
00015 // $Id: DCAnalysisFunction.h,v 1.1.1.1 2009/03/03 06:06:56 maqm Exp $
00016 //
00017 // Revision history
00018 //
00019 // $Log: DCAnalysisFunction.h,v $
00020 // Revision 1.1.1.1  2009/03/03 06:06:56  maqm
00021 // first import of DecayChain
00022 //
00023 // Revision 1.2  2006/01/11 20:28:12  cdj
00024 // massive class renaming, addition of [] for selection and unit tests
00025 //
00026 // Revision 1.1.1.1  2000/12/18 22:16:49  cdj
00027 // imported DChain
00028 //
00029 // Revision 1.5  1998/08/27 04:55:16  sjp
00030 // added include of defn when required
00031 //
00032 // Revision 1.4  1997/08/15 21:31:47  sjp
00033 // Updated to use <package>/<file>.h include structure.
00034 // Updated to use bug flags specified in Experiement.h
00035 //
00036 // Revision 1.3  1997/01/21 20:31:18  sjp
00037 // Changed CPP flags and include because of library reorganization
00038 //
00039 // Revision 1.2  1996/12/20 21:08:13  sjp
00040 // Modified to support FILENAME_ONLY
00041 //
00042 // Revision 1.1  1996/11/04 16:49:40  sjp
00043 // New function for use in conjunction with new `Lists'
00044 //
00045 
00046 // system include files
00047 
00048 // user include files
00049 
00050 // forward declarations
00051 
00052 template < class Arg >
00053 class DCAnalysisFunction
00054 {
00055       // friend classses and functions
00056 
00057    public:
00058       // constants, enums and typedefs
00059 
00060       // Constructors and destructor
00061       DCAnalysisFunction();
00062       virtual ~DCAnalysisFunction();
00063 
00064       // member functions
00065       virtual void operator()( const Arg& ) = 0 ;
00066 
00067       // const member functions
00068       void operator()( const Arg& iArg ) const {
00069          const_cast<DCAnalysisFunction<Arg>*>(this)->operator()(iArg);
00070       }
00071 
00072       // static member functions
00073 
00074    protected:
00075       // protected member functions
00076 
00077       // protected const member functions
00078 
00079    private:
00080       // Constructors and destructor
00081       DCAnalysisFunction( const DCAnalysisFunction< Arg >& ) ; // stop default
00082 
00083       // assignment operator(s)
00084       const DCAnalysisFunction& operator=( const DCAnalysisFunction< Arg >& ) ; // stop default
00085 
00086       // private member functions
00087 
00088       // private const member functions
00089 
00090       // data members
00091 
00092       // static data members
00093 
00094 };
00095 
00096 // inline function definitions
00097 
00098 #endif /* DCHAIN_ANALYSISFUNCTION_H */

Generated on Tue Nov 29 22:58:22 2016 for BOSS_7.0.2 by  doxygen 1.4.7