00001 #ifndef DCHAIN_CONJUGATEFUNCTION_H 00002 #define DCHAIN_CONJUGATEFUNCTION_H 00003 // -*- C++ -*- 00004 // 00005 // Package: DChain 00006 // Module: ConjugateFunction 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: DCConjugateFunction.h,v 1.1.1.1 2009/03/03 06:06:56 maqm Exp $ 00016 // 00017 // Revision history 00018 // 00019 // $Log: DCConjugateFunction.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:13 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/20 19:57:28 sjp 00030 // Modified to use DChainBoolean 00031 // 00032 // Revision 1.4 1998/04/17 19:12:09 sjp 00033 // Modified to use latest type 00034 // 00035 // Revision 1.3 1997/08/15 21:31:51 sjp 00036 // Updated to use <package>/<file>.h include structure. 00037 // Updated to use bug flags specified in Experiement.h 00038 // 00039 // Revision 1.2 1997/01/21 20:31:20 sjp 00040 // Changed CPP flags and include because of library reorganization 00041 // 00042 // Revision 1.1 1996/11/04 16:49:43 sjp 00043 // New function for use in conjunction with new `Lists' 00044 // 00045 00046 // system include files 00047 #include <functional> 00048 00049 // user include files 00050 00051 // forward declarations 00052 00053 template < class Arg > 00054 class DCConjugateFunction : public std::binary_function<Arg, bool, void> 00055 { 00056 // friend classses and functions 00057 00058 public: 00059 // constants, enums and typedefs 00060 00061 // Constructors and destructor 00062 DCConjugateFunction(); 00063 virtual ~DCConjugateFunction(); 00064 00065 // member functions 00066 00067 // const member functions 00068 virtual void operator()( const Arg& , 00069 bool ) = 0 ; 00070 00071 // static member functions 00072 00073 protected: 00074 // protected member functions 00075 00076 // protected const member functions 00077 00078 private: 00079 // Constructors and destructor 00080 DCConjugateFunction( const DCConjugateFunction< Arg >& ) ; // stop default 00081 00082 // assignment operator(s) 00083 const DCConjugateFunction& operator=( const DCConjugateFunction< Arg >& ) ; // stop default 00084 00085 // private member functions 00086 00087 // private const member functions 00088 00089 // data members 00090 00091 // static data members 00092 00093 }; 00094 00095 // inline function definitions 00096 00097 #endif /* DCHAIN_CONJUGATEFUNCTION_H */