BOSS 7.0.7
BESIII Offline Software System
Loading...
Searching...
No Matches
IndexedLabeledParticles.h
Go to the documentation of this file.
1#ifndef DCHAIN_INDEXEDLABELEDPARTICLES_H
2#define DCHAIN_INDEXEDLABELEDPARTICLES_H
3// -*- C++ -*-
4//
5// Package: DChain
6// Module: IndexedLabeledParticles
7//
8// Description: Interface used by Stone iterators
9//
10// Usage:
11// <usage>
12//
13// Author: Simon Patton
14// Created: Fri Sep 13 17:58:11 EDT 1996
15// $Id: IndexedLabeledParticles.h,v 1.1.1.1 2009/03/03 06:06:56 maqm Exp $
16//
17// Revision history
18//
19// $Log: IndexedLabeledParticles.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:28 cdj
24// massive class renaming, addition of [] for selection and unit tests
25//
26// Revision 1.1.1.1 2000/12/18 22:16:53 cdj
27// imported DChain
28//
29// Revision 1.1 1998/08/28 05:17:28 sjp
30// New class for iterator access
31//
32
33// system include files
34
35// user include files
36#include "DecayChain/List/LabeledCandidateList.h" // superclass
37
38// forward declarations
39
40namespace dchain {
41 template < class T > class LabeledParticle ;
42 template < class T > class MuteWholeItr ;
43 template < class T > class WholeItr ;
44 template < class T > class PartialItr ;
45
46template < class T , class CandidateClass >
48 : public LabeledCandidateList< CandidateClass >
49{
50 // friend classses and functions
51 friend class MuteWholeItr< T > ;
52 friend class WholeItr< T > ;
53 friend class PartialItr< T > ;
54
55 public:
56 // constants, enums and typedefs
57
58 // Constructors and destructor
61
62 // member functions
63
64 // const member functions
65
66 // static member functions
67
68 protected:
69 // protected member functions
70 virtual LabeledParticle< T >& labeledParticleClass( const int aIndex ) = 0 ;
71
72 // protected const member functions
73 virtual const LabeledParticle< T >& labeledParticleClass( const int aIndex ) const = 0 ;
74
75 private:
76 // Constructors and destructor
78
79 // assignment operator(s)
80 const IndexedLabeledParticles& operator=( const IndexedLabeledParticles< T , CandidateClass>& ) ; // stop default
81
82 // private member functions
83
84 // private const member functions
85
86 // data members
87
88 // static data members
89
90} ;
91}
92// inline function definitions
93
94#endif // DCHAIN_INDEXEDLABELEDPARTICLES_H
95
virtual LabeledParticle< T > & labeledParticleClass(const int aIndex)=0
virtual const LabeledParticle< T > & labeledParticleClass(const int aIndex) const =0