/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Event/DecayChain/DecayChain-00-00-03-slc6tag/DecayChain/List/Template/DCFillableNeutralList.cc

Go to the documentation of this file.
00001 #ifndef DCHAIN_FILLABLENEUTRALLIST_CC
00002 #define DCHAIN_FILLABLENEUTRALLIST_CC
00003 // -*- C++ -*-
00004 //
00005 // Package:     DChain
00006 // Module:      FillableNeutralList
00007 // 
00008 // Description: <one line class summary>
00009 //
00010 // Implimentation:
00011 //     <Notes on implimentation>
00012 //
00013 // Author:      Simon Patton
00014 // Created:     Fri Oct  4 11:04:56 EDT 1996
00015 // $Id: DCFillableNeutralList.cc,v 1.1.1.1 2009/03/03 06:06:56 maqm Exp $
00016 //
00017 // Revision history
00018 //
00019 // $Log: DCFillableNeutralList.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.1.1  2000/12/18 22:16:56  cdj
00027 // imported DChain
00028 //
00029 // Revision 1.4  1998/08/20 20:00:12  sjp
00030 // Modified to use DChainBoolean
00031 //
00032 // Revision 1.3  1998/08/19 20:46:23  sjp
00033 // Fixed comments and removed report references
00034 //
00035 // Revision 1.2  1998/04/17 19:14:52  sjp
00036 // Modified to use latest type
00037 //
00038 // Revision 1.1  1997/09/17 20:06:43  sjp
00039 // New class to separate filling from behaviour
00040 //
00041 
00042 // system include files
00043 #include <stdlib.h>  // required for 'exit'
00044 
00045 // user include files
00046 #include "DecayChain/List/DCFillableNeutralList.h"
00047 
00048 // STL include files
00049 
00050 //
00051 // constants, enums and typedefs
00052 //
00053 
00054 //
00055 // static data member definitions
00056 //
00057 
00058 //
00059 // constructors and destructor
00060 //
00061 
00062 template< class Neutral >
00063 //          class TruthWitnesses ,
00064 //          class VisibleWitnesses >
00065 DCFillableNeutralList< Neutral >::
00066 DCFillableNeutralList( bool ( * pFunction )( Neutral& ) ) :
00067    DCNeutralVisibleList< Neutral , typename Neutral::CandidateClass >( pFunction )
00068 {
00069 }
00070 
00071 //template< class Neutral ,
00072 //          class TruthWitnesses ,
00073 //          class VisibleWitnesses >
00074 //DCFillableNeutralList< Neutral , TruthWitnesses , VisibleWitnesses >::
00075 //DCFillableNeutralList( const TruthWitnesses& aTruthList ,
00076 //                   bool ( * pFunction )( Neutral& ) ) :
00077 //   DCNeutralVisibleList< Neutral , Neutral::CandidateClass >( pFunction )
00078 //{
00079 //   fill( aTruthList ) ;
00080 //}
00081 
00082 //template< class Neutral ,
00083 //          class TruthWitnesses ,
00084 //          class VisibleWitnesses >
00085 //DCFillableNeutralList< Neutral , TruthWitnesses , VisibleWitnesses >::
00086 //DCFillableNeutralList( const VisibleWitnesses& aVisibleList ,
00087 //                   bool ( * pFunction )( Neutral& ) ) :
00088 //   DCNeutralVisibleList< Neutral , Neutral::CandidateClass >( pFunction )
00089 //{
00090 //   fill( aVisibleList ) ;
00091 //}
00092 
00093 template< class Neutral >
00094 //          class TruthWitnesses ,
00095 //          class VisibleWitnesses >
00096 DCFillableNeutralList< Neutral >::
00097 DCFillableNeutralList( const DCFillableNeutralList< Neutral >&  aOtherList ,
00098                      bool ( * pFunction )( Neutral& ) ) :
00099    DCNeutralVisibleList< Neutral , 
00100                          typename Neutral::CandidateClass >( aOtherList ,
00101                                                         pFunction )
00102 {
00103 }
00104 
00105 template< class Neutral >
00106 //          class TruthWitnesses ,
00107 //          class VisibleWitnesses >
00108 DCFillableNeutralList< Neutral >::
00109 DCFillableNeutralList( DCSelectionFunction< Neutral >& aFunctionalObject ) :
00110    DCNeutralVisibleList< Neutral , 
00111                          typename Neutral::CandidateClass >( aFunctionalObject )
00112 {
00113 }
00114 
00115 //template< class Neutral ,
00116 //          class TruthWitnesses ,
00117 //          class VisibleWitnesses >
00118 //DCFillableNeutralList< Neutral , TruthWitnesses , VisibleWitnesses >::
00119 //DCFillableNeutralList( const TruthWitnesses& aTruthList ,
00120 //                   DCSelectionFunction< Neutral >& aFunctionalObject ) :
00121 //   DCNeutralVisibleList< Neutral , Neutral::CandidateClass >( aFunctionalObject )
00122 //{
00123 //   fill( aTruthList ) ;
00124 //}
00125 
00126 //template< class Neutral ,
00127 //          class TruthWitnesses ,
00128 //          class VisibleWitnesses >
00129 //DCFillableNeutralList< Neutral , TruthWitnesses , VisibleWitnesses >::
00130 //DCFillableNeutralList( const VisibleWitnesses& aVisibleList ,
00131 //                   DCSelectionFunction< Neutral >& aFunctionalObject ) :
00132 //   DCNeutralVisibleList< Neutral , Neutral::CandidateClass >( aFunctionalObject )
00133 //{
00134 //   fill( aVisibleList ) ;
00135 //}
00136 
00137 template< class Neutral >
00138 //          class TruthWitnesses ,
00139 //          class VisibleWitnesses >
00140 DCFillableNeutralList< Neutral  >::
00141 DCFillableNeutralList( const DCFillableNeutralList< Neutral >& aOtherList ,
00142                      DCSelectionFunction< Neutral >& aFunctionalObject ) :
00143    DCNeutralVisibleList< Neutral , 
00144                          typename Neutral::CandidateClass >( aOtherList ,
00145                                                         aFunctionalObject )
00146 {
00147 }
00148 /*
00149 template< class Neutral >
00150 DCFillableNeutralList< Neutral >::
00151 DCFillableNeutralList( const vector<Neutral>& aVector )
00152 {
00153    fill(aVector);
00154 }
00155 */
00156 
00157 template< class Neutral >
00158 //          class TruthWitnesses ,
00159 //          class VisibleWitnesses >
00160 DCFillableNeutralList< Neutral >::
00161 ~DCFillableNeutralList()
00162 {
00163 }
00164 
00165 //
00166 // assignment operators
00167 //
00168 
00169 //template< class Neutral ,
00170 //          class TruthWitnesses ,
00171 //          class VisibleWitnesses >
00172 //const DCFillableNeutralList< Neutral , TruthWitnesses , VisibleWitnesses >& DCFillableNeutralList< Neutral , TruthWitnesses , VisibleWitnesses >::
00173 //operator=( const TruthWitnesses& aTruthList )
00174 //{
00175 //   eraseContents() ;
00176 //   fill( aTruthList ) ;
00177 //   return ( *this ) ;
00178 //}
00179 
00180 //template< class Neutral >
00181 //          class TruthWitnesses ,
00182 //          class VisibleWitnesses >
00183 //const DCFillableNeutralList< Neutral, TruthWitnesses, VisibleWitnesses >& DCFillableNeutralList< Neutral , TruthWitnesses , VisibleWitnesses >::
00184 //operator=( const VisibleWitnesses& aVisibleList )
00185 //{
00186 //   eraseContents() ;
00187 //   fill( aVisibleList ) ;
00188 //   return ( *this ) ;
00189 //}
00190 
00191 template< class Neutral >
00192 //          class TruthWitnesses ,
00193 //          class VisibleWitnesses >
00194 const DCFillableNeutralList< Neutral >& 
00195 DCFillableNeutralList< Neutral >::operator=( 
00196    const DCFillableNeutralList< Neutral >& aOtherList )
00197 {
00198    DCNeutralVisibleList< Neutral , 
00199                          typename Neutral::CandidateClass >::operator=( 
00200                             aOtherList ) ;
00201    return ( *this ) ;
00202 }
00203 
00204 //
00205 // member functions
00206 //
00207 
00208 //template< class Neutral ,
00209 //          class TruthWitnesses ,
00210 //          class VisibleWitnesses >
00211 //void DCFillableNeutralList< Neutral , TruthWitnesses , VisibleWitnesses >::fill( const TruthWitnesses& aList )
00212 //{
00213 //   TruthWitnesses::const_iterator finished ( aList.end() ) ;
00214 //   for ( TruthWitnesses::const_iterator entry ( aList.begin() ) ;
00215 //       entry != finished ;
00216 //       ++entry ) {
00217 //      Neutral* localCopy = new Neutral( *entry ) ;
00218 //      insert_possible( localCopy ) ;
00219 //   }
00220 //}
00221 
00222 //template< class Neutral ,
00223 //          class TruthWitnesses ,
00224 //          class VisibleWitnesses >
00225 //void DCFillableNeutralList< Neutral , TruthWitnesses , VisibleWitnesses >::fill( const VisibleWitnesses& aList )
00226 //{
00227 //   VisibleWitnesses::const_iterator finished ( aList.end() ) ;
00228 //   for ( VisibleWitnesses::const_iterator entry ( aList.begin() ) ;
00229 //       entry != finished ;
00230 //       ++entry ) {
00231 //      Neutral* localCopy = new Neutral( *entry ) ;
00232 //      insert_possible( localCopy ) ;
00233 //   }
00234 //}
00235 
00236 template< class Neutral >
00237 void 
00238 DCFillableNeutralList< Neutral >::fill( 
00239    const dchain::LabeledParticleList< Neutral , 
00240                              typename Neutral::CandidateClass >& aList )
00241 {
00242    DCNeutralVisibleList< Neutral , 
00243                          typename Neutral::CandidateClass >::fill( aList ) ;
00244 }
00245 
00246 
00247 //
00248 // const member functions
00249 //
00250 
00251 //
00252 // static member functions
00253 //
00254 
00255 #endif /* DCHAIN_FILLABLENEUTRALLIST_CC */

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