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

Go to the documentation of this file.
00001 #ifndef DCHAIN_LABELEDCANDIDATELIST_CC
00002 #define DCHAIN_LABELEDCANDIDATELIST_CC
00003 // -*- C++ -*-
00004 //
00005 // Package:     DChain
00006 // Module:      LabeledCandidateList
00007 // 
00008 // Description: Container of `primary'/`conjugate' subclasses of Candidate
00009 //
00010 // Implimentation:
00011 //     <Notes on implimentation>
00012 //
00013 // Author:      Simon Patton
00014 // Created:     Wed Sep 11 20:56:18 EDT 1996
00015 // $Id: LabeledCandidateList.cc,v 1.1.1.1 2009/03/03 06:06:56 maqm Exp $
00016 //
00017 // Revision history
00018 //
00019 // $Log: LabeledCandidateList.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:40  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.10  1998/08/21 00:51:56  sjp
00030 // Modifier to no longer use typedefs
00031 //
00032 // Revision 1.9  1998/08/19 20:46:24  sjp
00033 // Fixed comments and removed report references
00034 //
00035 // Revision 1.8  1997/08/28 07:00:21  sjp
00036 // Modified files to handle complete templating
00037 //
00038 // Revision 1.7  1997/08/26 04:14:27  sjp
00039 // Made Candidate handling objects into `CandidateClass' Templates
00040 //
00041 // Revision 1.6  1997/08/19 23:03:20  sjp
00042 // Restructured package to be independent of Rock
00043 //
00044 // Revision 1.5  1997/08/15 21:33:47  sjp
00045 // Updated to use <package>/<file>.h include structure.
00046 // Updated to use bug flags specified in Experiement.h
00047 //
00048 // Revision 1.4  1997/01/31 20:16:27  sjp
00049 // Modified to use the new `bug' include files
00050 //
00051 // Revision 1.3  1997/01/21 20:31:43  sjp
00052 // Changed CPP flags and include because of library reorganization
00053 //
00054 // Revision 1.2  1997/01/19 20:28:45  sjp
00055 // Changed LargeCount to Count
00056 //
00057 // Revision 1.1  1996/11/04 17:17:19  sjp
00058 // New file for new `List' module
00059 //
00060 
00061 // system include files
00062 
00063 // user include files
00064 #include "DecayChain/Element/LabeledCandidate.h"
00065 #include "DecayChain/Iterator/MuteWholeCandidateItr.h"
00066 #include "DecayChain/Iterator/WholeCandidateItr.h"
00067 #include "DecayChain/Iterator/PartialCandidateItr.h"
00068 
00069 #include "DecayChain/List/LabeledCandidateList.h"
00070 
00071 //
00072 // constants, enums and typedefs
00073 //
00074 
00075 //
00076 // static data member definitions
00077 //
00078 
00079 //
00080 // constructors and destructor
00081 //
00082 namespace dchain {
00083 template < class CandidateClass >
00084 LabeledCandidateList< CandidateClass >::LabeledCandidateList()
00085 {
00086 }
00087 
00088 // LabeledCandidateList< CandidateClass >::LabeledCandidateList( const LabeledCandidateList< CandidateClass >& )
00089 // {
00090 // }
00091 
00092 template < class CandidateClass >
00093 LabeledCandidateList< CandidateClass >::~LabeledCandidateList()
00094 {
00095 }
00096 
00097 //
00098 // assignment operators
00099 //
00100 // const LabeledCandidateList< CandidateClass >& LabeledCandidateList< CandidateClass >::operator=( const LabeledCandidateList< CandidateClass >& )
00101 // {
00102 // }
00103 
00104 //
00105 // member functions
00106 //
00107 
00108 //------ operator[] ------
00109 //
00110 template < class CandidateClass >
00111 LabeledCandidate< CandidateClass >& LabeledCandidateList< CandidateClass >::operator[]( const int aIndex )
00112 {
00113    return ( labeledCandidateClass( aIndex ) ) ;
00114 }
00115 
00116 //------ begin ------
00117 //
00118 template < class CandidateClass >
00119 typename LabeledCandidateList< CandidateClass >::iterator LabeledCandidateList< CandidateClass >::begin()
00120 {
00121    return ( iterator( this , 0 ) ) ;
00122 }
00123 
00124 //------ end ------
00125 //
00126 template < class CandidateClass >
00127 typename LabeledCandidateList< CandidateClass >::iterator LabeledCandidateList< CandidateClass >::end()
00128 {
00129    return ( iterator( this , size() ) ) ;
00130 }
00131 
00132 //------ erase ------
00133 //
00134 template < class CandidateClass >
00135 void LabeledCandidateList< CandidateClass >::erase( iterator aStart ,
00136                                             iterator aFinish )
00137 {
00138    erase_elements( aStart.index() ,
00139                    aFinish.index() ) ;
00140 }
00141 
00142 //
00143 // const member functions
00144 //
00145 
00146 //------ operator[] ------
00147 //
00148 template < class CandidateClass >
00149 const LabeledCandidate< CandidateClass >& LabeledCandidateList< CandidateClass >::operator[]( const int aIndex ) const
00150 {
00151    return ( labeledCandidateClass( aIndex ) ) ;
00152 }
00153 
00154 //------ begin ------
00155 //
00156 template < class CandidateClass >
00157 typename LabeledCandidateList< CandidateClass >::const_iterator LabeledCandidateList< CandidateClass >::begin() const
00158 {
00159    return ( const_iterator( this , 0 ) ) ;
00160 }
00161 
00162 //------ begin ------
00163 //
00164 template < class CandidateClass >
00165 typename LabeledCandidateList< CandidateClass >::const_partial_iterator LabeledCandidateList< CandidateClass >::begin( const conjugation::Label aLabel ) const
00166 {
00167    return ( const_partial_iterator( this , 0 , aLabel ) ) ;
00168 }
00169 
00170 //------ end ------
00171 //
00172 template < class CandidateClass >
00173 typename LabeledCandidateList< CandidateClass >::const_iterator LabeledCandidateList< CandidateClass >::end() const
00174 {
00175    return ( const_iterator( this , size() ) ) ;
00176 }
00177 
00178 //------ end ------
00179 //
00180 template < class CandidateClass >
00181 typename LabeledCandidateList< CandidateClass >::const_partial_iterator LabeledCandidateList< CandidateClass >::end( const conjugation::Label aLabel ) const
00182 {
00183    return ( const_partial_iterator( this , size() , aLabel ) ) ;
00184 }
00185 
00186 //
00187 // static member functions
00188 //
00189 }
00190 #endif /* DCHAIN_LABELEDCANDIDATELIST_CC */

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