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

Go to the documentation of this file.
00001 #ifndef DCHAIN_CHOSENCHARGELIST_CC
00002 #define DCHAIN_CHOSENCHARGELIST_CC
00003 // -*- C++ -*-
00004 //
00005 // Package:     DChain
00006 // Module:      ChosenChargeList
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: ChosenChargeList.cc,v 1.1.1.1 2009/03/03 06:06:56 maqm Exp $
00016 //
00017 // Revision history
00018 //
00019 // $Log: ChosenChargeList.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.3  2003/05/15 19:56:11  cdj
00027 // revamped memory handling so always use a ReferenceHolder to deal with the reference counting
00028 //
00029 // Revision 1.2  2003/03/13 20:19:16  cleo3
00030 // now compiles under Linux
00031 //
00032 // Revision 1.1.1.1  2000/12/18 22:16:55  cdj
00033 // imported DChain
00034 //
00035 // Revision 1.12  1998/08/20 20:00:09  sjp
00036 // Modified to use DChainBoolean
00037 //
00038 // Revision 1.11  1998/08/19 20:46:20  sjp
00039 // Fixed comments and removed report references
00040 //
00041 // Revision 1.10  1998/04/17 19:14:47  sjp
00042 // Modified to use latest type
00043 //
00044 // Revision 1.9  1997/09/03 14:58:20  sjp
00045 // Use new report.h and TBParticlePoint
00046 //
00047 // Revision 1.8  1997/08/28 07:00:19  sjp
00048 // Modified files to handle complete templating
00049 //
00050 // Revision 1.7  1997/08/19 23:02:34  sjp
00051 // Restructured package to be independent of Rock
00052 //
00053 // Revision 1.6  1997/08/19 16:16:48  sjp
00054 // Changed Template's Parameter for symmetry with Neutrals
00055 //
00056 // Revision 1.5  1997/08/15 21:33:02  sjp
00057 // Updated to use <package>/<file>.h include structure.
00058 // Updated to use bug flags specified in Experiement.h
00059 //
00060 // Revision 1.4  1997/01/31 20:17:30  sjp
00061 // Modified to use the new `bug' include files
00062 //
00063 // Revision 1.3  1997/01/21 20:34:29  sjp
00064 // Changed CPP flags and include because of library reorganization
00065 //
00066 // Revision 1.2  1996/12/20 21:15:59  sjp
00067 // Ammended to allow for LabaledLists being reference counted.
00068 // Added dropLink() for all created entries.
00069 //
00070 // Revision 1.1  1996/11/04 19:36:41  sjp
00071 // New file for new `List' module
00072 //
00073 
00074 // system include files
00075 #include <stdlib.h>  // required for 'exit'
00076 
00077 // user include files
00078 #include "DecayChain/Function/DCAnalysisFunction.h"
00079 #include "DecayChain/Function/DCConjugateFunction.h"
00080 #include "DecayChain/Element/conjugation.h"
00081 #include "DecayChain/Element/LabeledParticle.h"
00082 #include "DecayChain/Iterator/MuteWholeItr.h"
00083 #include "DecayChain/Iterator/WholeItr.h"
00084 #include "DecayChain/Iterator/PartialItr.h"
00085 #include "DecayChain/List/LabeledParticleList.h"
00086 
00087 #include "DecayChain/List/ChosenChargeList.h"
00088 
00089 //
00090 // constants, enums and typedefs
00091 //
00092 namespace dchain {
00093 //
00094 // static data member definitions
00095 //
00096 
00097 //
00098 // constructors and destructor
00099 //
00100 template < class Charged , class CandidateClass >
00101 ChosenChargeList< Charged , CandidateClass >::ChosenChargeList( dchain::LabeledParticleList< Charged , CandidateClass >& aLabeledDecayList ,
00102                                                             const conjugation::Label aLabel ) :
00103    ConjugateList< CandidateClass >( aLabel ) ,
00104    m_list( &aLabeledDecayList )
00105 {
00106 }
00107 
00108 template < class Charged , class CandidateClass >
00109 ChosenChargeList< Charged , CandidateClass >::~ChosenChargeList()
00110 {
00111 }
00112 
00113 //
00114 // assignment operators
00115 //
00116 // template < class Charged , class CandidateClass >
00117 // const ChosenChargeList< Charged , CandidateClass >& ChosenChargeList< Charged , CandidateClass >::operator=( const ChosenChargeList< Charged , CandidateClass >& aOtherList )
00118 // {
00119 // }
00120 
00121 //
00122 // member functions
00123 //
00124 template < class Charged , class CandidateClass >
00125 typename ChosenChargeList< Charged , CandidateClass >::iterator ChosenChargeList< Charged , CandidateClass >::particle_begin()
00126 {
00127    return ( m_list->begin() ) ;
00128 }
00129 
00130 template < class Charged , class CandidateClass >
00131 typename ChosenChargeList< Charged , CandidateClass >::iterator ChosenChargeList< Charged , CandidateClass >::particle_end()
00132 {
00133    return ( m_list->end() ) ;
00134 }
00135 
00136 template < class Charged , class CandidateClass >
00137 dchain::LabeledCandidateList< CandidateClass >& ChosenChargeList< Charged , CandidateClass >::labeledCandidateList()
00138 {
00139    return ( *m_list ) ;
00140 }
00141 
00142 //
00143 // const member functions
00144 //
00145 template < class Charged , class CandidateClass >
00146 typename ChosenChargeList< Charged , CandidateClass >::const_iterator ChosenChargeList< Charged , CandidateClass >::particle_begin() const
00147 {
00148 // Need to cast to 'const' to get the right function call
00149   return ( (*(const dchain::LabeledParticleList< Charged , CandidateClass >*)(m_list.pointer())).begin() ) ;
00150 }
00151 
00152 template < class Charged , class CandidateClass >
00153 typename ChosenChargeList< Charged , CandidateClass >::const_iterator ChosenChargeList< Charged , CandidateClass >::particle_end() const
00154 {
00155 // Need to cast to 'const' to get the right function call
00156   return ( (*(const dchain::LabeledParticleList< Charged , CandidateClass >*)(m_list.pointer())).end() ) ;
00157 }
00158 
00159 template < class Charged , class CandidateClass >
00160 typename ChosenChargeList< Charged , CandidateClass >::const_partial_iterator ChosenChargeList< Charged , CandidateClass >::partial_particle_begin() const
00161 {
00162 // Need to cast to 'const' to get the right function call
00163   return ( (*(const dchain::LabeledParticleList< Charged , CandidateClass >*)(m_list.pointer())).begin( this->label() ) ) ;
00164 }
00165 
00166 template < class Charged , class CandidateClass >
00167 typename ChosenChargeList< Charged , CandidateClass >::const_partial_iterator ChosenChargeList< Charged , CandidateClass >::partial_particle_end() const
00168 {
00169 // Need to cast to 'const' to get the right function call
00170   return ( (*(const dchain::LabeledParticleList< Charged , CandidateClass >*)(m_list.pointer())).end( this->label() ) ) ;
00171 }
00172 
00173 template < class Charged , class CandidateClass >
00174 const dchain::LabeledCandidateList< CandidateClass >& ChosenChargeList< Charged , CandidateClass >::labeledCandidateList() const
00175 {
00176    return ( *m_list ) ;
00177 }
00178 
00179 //
00180 // static member functions
00181 //
00182 }
00183 
00184 #endif /* DCHAIN_CHOSENCHARGELIST_CC */

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