00001 #ifndef DCHAIN_FILLABLENEUTRALNCLIST_CC 00002 #define DCHAIN_FILLABLENEUTRALNCLIST_CC 00003 // -*- C++ -*- 00004 // 00005 // Package: DChain 00006 // Module: FillableNeutralNCList 00007 // 00008 // Description: <one line class summary> 00009 // 00010 // Implimentation: 00011 // <Notes on implimentation> 00012 // 00013 // Author: Simon Patton 00014 // Created: Wed Sep 3 13:47:97 EDT 1997 00015 // $Id: DCFillableNeutralNCList.cc,v 1.1.1.1 2009/03/03 06:06:56 maqm Exp $ 00016 // 00017 // Revision history 00018 // 00019 // $Log: DCFillableNeutralNCList.cc,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:38 cdj 00024 // massive class renaming, addition of [] for selection and unit tests 00025 // 00026 // Revision 1.1 2001/09/11 15:02:43 ajm36 00027 // add files to do neutral non-conjugating particles 00028 // 00029 // Revision 1.2 2000/12/30 19:43:33 cdj 00030 // no more missing symbols under OSF1 00031 // 00032 // Revision 1.1.1.1 2000/12/18 22:16:55 cdj 00033 // imported DChain 00034 // 00035 // Revision 1.4 1998/08/20 20:00:12 sjp 00036 // Modified to use DChainBoolean 00037 // 00038 // Revision 1.3 1998/08/19 20:46:23 sjp 00039 // Fixed comments and removed report references 00040 // 00041 // Revision 1.2 1998/04/17 19:14:50 sjp 00042 // Modified to use latest type 00043 // 00044 // Revision 1.1 1997/09/17 20:06:41 sjp 00045 // New class to separate filling from behaviour 00046 // 00047 00048 // system include files 00049 #include <stdlib.h> // required for 'exit' 00050 00051 // user include files 00052 #include "DecayChain/List/DCFillableNeutralNCList.h" 00053 00054 // STL include files 00055 00056 // 00057 // constants, enums and typedefs 00058 // 00059 00060 // 00061 // static data member definitions 00062 // 00063 00064 // 00065 // constructors and destructor 00066 // 00067 00068 template < class NeutralNC > 00069 DCFillableNeutralNCList< NeutralNC >:: 00070 DCFillableNeutralNCList( bool ( * pFunction )( NeutralNC& ) ) : 00071 DCNeutralNCVisibleList< NeutralNC , typename NeutralNC::CandidateClass >( 00072 pFunction ) 00073 { 00074 } 00075 00076 template < class NeutralNC > 00077 DCFillableNeutralNCList< NeutralNC >:: 00078 DCFillableNeutralNCList(const DCFillableNeutralNCList< NeutralNC >& aOtherList, 00079 bool ( * pFunction )( NeutralNC& ) ) : 00080 DCNeutralNCVisibleList< NeutralNC , typename NeutralNC::CandidateClass >( 00081 aOtherList, pFunction ) 00082 { 00083 } 00084 00085 template < class NeutralNC > 00086 DCFillableNeutralNCList< NeutralNC >:: 00087 DCFillableNeutralNCList( DCSelectionFunction< NeutralNC >& aFunctionalObject ): 00088 DCNeutralNCVisibleList< NeutralNC , typename NeutralNC::CandidateClass >( 00089 aFunctionalObject ) 00090 { 00091 } 00092 00093 template < class NeutralNC > 00094 DCFillableNeutralNCList< NeutralNC >:: 00095 DCFillableNeutralNCList(const DCFillableNeutralNCList< NeutralNC >& aOtherList, 00096 DCSelectionFunction< NeutralNC >& aFunctionalObject ) : 00097 DCNeutralNCVisibleList< NeutralNC , typename NeutralNC::CandidateClass >( 00098 aOtherList, aFunctionalObject ) 00099 { 00100 } 00101 00102 template < class NeutralNC > 00103 DCFillableNeutralNCList< NeutralNC >:: 00104 ~DCFillableNeutralNCList() 00105 { 00106 } 00107 00108 // 00109 // assignment operators 00110 // 00111 00112 template < class NeutralNC > 00113 const DCFillableNeutralNCList<NeutralNC>& DCFillableNeutralNCList<NeutralNC>:: 00114 operator=( const DCFillableNeutralNCList< NeutralNC >& aOtherList ) 00115 { 00116 DCNeutralNCVisibleList< NeutralNC , typename NeutralNC::CandidateClass >:: 00117 operator=( aOtherList ) ; 00118 return ( *this ) ; 00119 } 00120 00121 // 00122 // member functions 00123 // 00124 00125 // 00126 // const member functions 00127 // 00128 00129 // 00130 // static member functions 00131 // 00132 00133 #endif /* DCHAIN_FILLABLENEUTRALNCLIST_CC */