BOSS 7.0.8
BESIII Offline Software System
Loading...
Searching...
No Matches
IndexedLabeledCandidates.h
Go to the documentation of this file.
1#ifndef DCHAIN_INDEXEDLABELEDCANDIDATES_H
2#define DCHAIN_INDEXEDLABELEDCANDIDATES_H
3// -*- C++ -*-
4//
5// Package: DChain
6// Module: IndexedLabeledCandidates
7//
8// Description: Interface used by Candidate iterators
9//
10// Usage:
11// <usage>
12//
13// Author: Simon Patton
14// Created: Fri Sep 13 17:58:11 EDT 1996
15// $Id: IndexedLabeledCandidates.h,v 1.1.1.1 2009/03/03 06:06:56 maqm Exp $
16//
17// Revision history
18//
19// $Log: IndexedLabeledCandidates.h,v $
20// Revision 1.1.1.1 2009/03/03 06:06:56 maqm
21// first import of DecayChain
22//
23// Revision 1.1 2006/01/11 20:28:27 cdj
24// massive class renaming, addition of [] for selection and unit tests
25//
26//
27
28// system include files
29
30// user include files
31#include "DecayChain/Element/ReferenceCount.h" // superclass
32
33// forward declarations
34namespace dchain {
35template < class CandidateClass > class LabeledCandidate ;
36template < class CandidateClass > class MuteWholeCandidateItr ;
37template < class CandidateClass > class WholeCandidateItr ;
38template < class CandidateClass > class PartialCandidateItr ;
39
40template < class CandidateClass >
42 : public ReferenceCount
43{
44 // friend classses and functions
45 friend class dchain::MuteWholeCandidateItr< CandidateClass > ;
46 friend class dchain::WholeCandidateItr< CandidateClass > ;
47 friend class dchain::PartialCandidateItr< CandidateClass > ;
48
49 public:
50 // constants, enums and typedefs
51
52 // Constructors and destructor
55
56 // member functions
57
58 // const member functions
59 virtual int size() const = 0 ;
60
61 // static member functions
62
63 protected:
64 // protected member functions
66
67 // protected const member functions
68 virtual const dchain::LabeledCandidate< CandidateClass >& labeledCandidateClass( const int aIndex ) const = 0 ;
69
70 private:
71 // Constructors and destructor
73
74 // assignment operator(s)
75 const IndexedLabeledCandidates& operator=( const IndexedLabeledCandidates< CandidateClass >& ) ; // stop default
76
77 // private member functions
78
79 // private const member functions
80
81 // data members
82
83 // static data members
84
85} ;
86
87}
88// inline function definitions
89
90// function definitions
92
93#endif // DCHAIN_INDEXEDLABELEDCANDIDATES_H
virtual int size() const =0
virtual const dchain::LabeledCandidate< CandidateClass > & labeledCandidateClass(const int aIndex) const =0
virtual dchain::LabeledCandidate< CandidateClass > & labeledCandidateClass(const int aIndex)=0