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

Go to the documentation of this file.
00001 #ifndef DCHAIN_CANDIDATELIST_CC
00002 #define DCHAIN_CANDIDATELIST_CC
00003 // -*- C++ -*-
00004 //
00005 // Package:     DChain
00006 // Module:      CandidateList
00007 // 
00008 // Description: container of subclasses of Candidate, used for iteration
00009 //
00010 // Implimentation:
00011 //     <Notes on implimentation>
00012 //
00013 // Author:      Simon Patton
00014 // Created:     Wed Sep 11 20:56:18 EDT 1996
00015 // $Id: CandidateList.cc,v 1.1.1.1 2009/03/03 06:06:56 maqm Exp $
00016 //
00017 // Revision history
00018 //
00019 // $Log: CandidateList.cc,v $
00020 // Revision 1.1.1.1  2009/03/03 06:06:56  maqm
00021 // first import of DecayChain
00022 //
00023 // Revision 1.1  2006/01/11 20:28:34  cdj
00024 // massive class renaming, addition of [] for selection and unit tests
00025 //
00026 // Revision 1.1.1.1  2000/12/18 22:16:54  cdj
00027 // imported DChain
00028 //
00029 // Revision 1.11  1998/08/21 00:51:56  sjp
00030 // Modifier to no longer use typedefs
00031 //
00032 // Revision 1.10  1998/08/20 20:00:15  sjp
00033 // Modified to use DChainBoolean
00034 //
00035 // Revision 1.9  1998/08/19 20:46:27  sjp
00036 // Fixed comments and removed report references
00037 //
00038 // Revision 1.8  1998/04/17 19:14:54  sjp
00039 // Modified to use latest type
00040 //
00041 // Revision 1.7  1997/08/28 07:00:24  sjp
00042 // Modified files to handle complete templating
00043 //
00044 // Revision 1.6  1997/08/26 04:14:34  sjp
00045 // Made Candidate handling objects into `CandidateClass' Templates
00046 //
00047 // Revision 1.5  1997/08/19 23:03:12  sjp
00048 // Restructured package to be independent of Rock
00049 //
00050 // Revision 1.4  1997/08/15 21:33:33  sjp
00051 // Updated to use <package>/<file>.h include structure.
00052 // Updated to use bug flags specified in Experiement.h
00053 //
00054 // Revision 1.3  1997/01/21 20:31:32  sjp
00055 // Changed CPP flags and include because of library reorganization
00056 //
00057 // Revision 1.2  1997/01/19 20:28:42  sjp
00058 // Changed LargeCount to Count
00059 //
00060 // Revision 1.1  1996/11/04 17:17:10  sjp
00061 // New file for new `List' module
00062 //
00063 
00064 // system include files
00065 //#include <string>
00066 
00067 // user include files
00068 #include "DecayChain/Element/LabeledCandidate.h"
00069 #include "DecayChain/Iterator/MuteWholeCandidateItr.h"
00070 #include "DecayChain/Iterator/WholeCandidateItr.h"
00071 #include "DecayChain/List/LabeledCandidateList.h"
00072 
00073 #include "DecayChain/List/CandidateList.h"
00074 
00075 //
00076 // constants, enums and typedefs
00077 //
00078 namespace dchain {
00079 //
00080 // static data member definitions
00081 //
00082 
00083 //
00084 // constructors and destructor
00085 //
00086 
00087 template < class CandidateClass >
00088 CandidateList< CandidateClass >::CandidateList()
00089 {
00090 }
00091 
00092 // CandidateList< CandidateClass >::CandidateList( const CandidateList< CandidateClass >& )
00093 // {
00094 // }
00095 
00096 template < class CandidateClass >
00097 CandidateList< CandidateClass >::~CandidateList()
00098 {
00099 }
00100 
00101 //
00102 // assignment operators
00103 //
00104 // const CandidateList< CandidateClass >& CandidateList< CandidateClass >::operator=( const CandidateList< CandidateClass >& )
00105 // {
00106 // }
00107 
00108 //
00109 // member functions
00110 //
00111 
00112 //------ begin ------
00113 //
00114 template < class CandidateClass >
00115 typename CandidateList< CandidateClass >::iterator CandidateList< CandidateClass >::begin()
00116 {
00117    return ( labeledCandidateList().begin() ) ;
00118 }
00119 
00120 //------ end ------
00121 //
00122 template < class CandidateClass >
00123 typename CandidateList< CandidateClass >::iterator CandidateList< CandidateClass >::end()
00124 {
00125    return ( labeledCandidateList().end() ) ;
00126 }
00127 
00128 //
00129 // const member functions
00130 //
00131 
00132 //------ empty ------
00133 //
00134 template < class CandidateClass >
00135 bool CandidateList< CandidateClass >::empty() const
00136 {
00137    return ( labeledCandidateList().empty() ) ;
00138 }
00139 
00140 //------ size ------
00141 //
00142 template < class CandidateClass >
00143 int CandidateList< CandidateClass >::size() const
00144 {
00145    return ( labeledCandidateList().size() ) ;
00146 }
00147 
00148 //------ begin ------
00149 //
00150 template < class CandidateClass >
00151 typename CandidateList< CandidateClass >::const_iterator CandidateList< CandidateClass >::begin() const
00152 {
00153 // do this casting to make sure const 'begin' function is called
00154    return ( static_cast<const dchain::LabeledCandidateList< CandidateClass >*>(&labeledCandidateList())->begin() );
00155 }
00156 
00157 //------ end ------
00158 //
00159 template < class CandidateClass >
00160 typename CandidateList< CandidateClass >::const_iterator CandidateList< CandidateClass >::end() const
00161 {
00162 // do this casting to make sure const 'end' function is called
00163    return ( static_cast<const dchain::LabeledCandidateList< CandidateClass >*>(&labeledCandidateList())->end() );
00164 }
00165 
00166 //
00167 // static member functions
00168 //
00169 }
00170 
00171 #endif /* DCHAIN_DCCANDIDATELIST_CC */

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