/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Event/DecayChain/DecayChain-00-00-03-slc6tag/DecayChain/List/IndexedLabeledParticles.h

Go to the documentation of this file.
00001 #ifndef DCHAIN_INDEXEDLABELEDPARTICLES_H
00002 #define DCHAIN_INDEXEDLABELEDPARTICLES_H
00003 // -*- C++ -*-
00004 //
00005 // Package:     DChain
00006 // Module:      IndexedLabeledParticles
00007 // 
00008 // Description: Interface used by Stone iterators
00009 //
00010 // Usage:
00011 //    <usage>
00012 //
00013 // Author:      Simon Patton
00014 // Created:     Fri Sep 13 17:58:11 EDT 1996
00015 // $Id: IndexedLabeledParticles.h,v 1.1.1.1 2009/03/03 06:06:56 maqm Exp $
00016 //
00017 // Revision history
00018 //
00019 // $Log: IndexedLabeledParticles.h,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:28  cdj
00024 // massive class renaming, addition of [] for selection and unit tests
00025 //
00026 // Revision 1.1.1.1  2000/12/18 22:16:53  cdj
00027 // imported DChain
00028 //
00029 // Revision 1.1  1998/08/28 05:17:28  sjp
00030 // New class for iterator access
00031 //
00032 
00033 // system include files
00034 
00035 // user include files
00036 #include "DecayChain/List/LabeledCandidateList.h" // superclass
00037 
00038 // forward declarations
00039 
00040 namespace dchain {
00041    template < class T > class LabeledParticle ;
00042    template < class T > class MuteWholeItr ;
00043    template < class T > class WholeItr ;
00044    template < class T > class PartialItr ;
00045 
00046 template < class T , class CandidateClass >
00047 class IndexedLabeledParticles
00048    : public LabeledCandidateList< CandidateClass >
00049 {
00050       // friend classses and functions
00051       friend class MuteWholeItr< T > ;
00052       friend class WholeItr< T > ;
00053       friend class PartialItr< T > ;
00054 
00055    public:
00056       // constants, enums and typedefs
00057 
00058       // Constructors and destructor
00059       IndexedLabeledParticles() {}
00060       virtual ~IndexedLabeledParticles() {}
00061 
00062       // member functions
00063 
00064       // const member functions
00065 
00066       // static member functions
00067 
00068    protected:
00069       // protected member functions
00070       virtual LabeledParticle< T >& labeledParticleClass( const int aIndex ) = 0 ;
00071 
00072       // protected const member functions
00073       virtual const LabeledParticle< T >& labeledParticleClass( const int aIndex ) const = 0 ;
00074 
00075    private:
00076       // Constructors and destructor
00077       IndexedLabeledParticles( const IndexedLabeledParticles< T , CandidateClass >& ) ; // stop default
00078 
00079       // assignment operator(s)
00080       const IndexedLabeledParticles& operator=( const IndexedLabeledParticles< T , CandidateClass>& ) ; // stop default
00081 
00082       // private member functions
00083 
00084       // private const member functions
00085 
00086       // data members
00087 
00088       // static data members
00089 
00090 } ;
00091 }
00092 // inline function definitions
00093 
00094 #endif // DCHAIN_INDEXEDLABELEDPARTICLES_H
00095 

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