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

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

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