CGEM BOSS 6.6.5.i
BESIII Offline Software System
Loading...
Searching...
No Matches
ConjugateList.cc
Go to the documentation of this file.
1#ifndef DCHAIN_CONJUGATELIST_CC
2#define DCHAIN_CONJUGATELIST_CC
3// -*- C++ -*-
4//
5// Package: DChain
6// Module: ConjugateList
7//
8// Description: container of 'const Candidates*', used for partial iteration
9//
10// Implimentation:
11// <Notes on implimentation>
12//
13// Author: Simon Patton
14// Created: Sat Oct 5 17:18:02 EDT 1996
15// $Id: ConjugateList.cc,v 1.1.1.1 2009/03/03 06:06:56 maqm Exp $
16//
17// Revision history
18//
19// $Log: ConjugateList.cc,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:35 cdj
24// massive class renaming, addition of [] for selection and unit tests
25//
26// Revision 1.1.1.1 2000/12/18 22:16:55 cdj
27// imported DChain
28//
29// Revision 1.10 1998/08/21 00:51:55 sjp
30// Modifier to no longer use typedefs
31//
32// Revision 1.9 1998/08/20 20:00:10 sjp
33// Modified to use DChainBoolean
34//
35// Revision 1.8 1998/08/19 20:46:22 sjp
36// Fixed comments and removed report references
37//
38// Revision 1.7 1998/04/17 19:14:50 sjp
39// Modified to use latest type
40//
41// Revision 1.6 1997/08/28 07:00:38 sjp
42// Modified files to handle complete templating
43//
44// Revision 1.5 1997/08/19 23:03:18 sjp
45// Restructured package to be independent of Rock
46//
47// Revision 1.4 1997/08/15 21:33:42 sjp
48// Updated to use <package>/<file>.h include structure.
49// Updated to use bug flags specified in Experiement.h
50//
51// Revision 1.3 1997/01/21 20:31:39 sjp
52// Changed CPP flags and include because of library reorganization
53//
54// Revision 1.2 1997/01/19 20:28:44 sjp
55// Changed LargeCount to Count
56//
57// Revision 1.1 1996/11/04 17:17:15 sjp
58// New file for new `List' module
59//
60
61// system include files
62
63// user include files
69
71
72//
73// constants, enums and typedefs
74//
75namespace dchain {
76//
77// static data member definitions
78//
79
80//
81// constructors and destructor
82//
83
84template < class CandidateClass >
86 m_label( aLabel )
87{
88}
89
90// ConjugateList< CandidateClass >::ConjugateList( const ConjugateList& )
91// {
92// }
93
94template < class CandidateClass >
98
99//
100// assignment operators
101//
102// const ConjugateList& ConjugateList< CandidateClass >::operator=( const ConjugateList& )
103// {
104// }
107// member functions
108//
110template < class CandidateClass >
112{
113 m_label = aLabel ;
114}
115
116//
117// const member functions
118//
119
120template < class CandidateClass >
122{
123 return ( conjugation::kNone == m_label ) ;
124}
125
126template < class CandidateClass >
128{
129 return ( ( &(this->labeledCandidateList()) == &(aList.labeledCandidateList()) ) &&
130 ( label() == otherLabel( aList.label() ) ) ) ;
131}
132
133template < class CandidateClass >
135{
136 return ( this->labeledCandidateList().size( m_label ) ) ;
137}
138
139template < class CandidateClass >
141{
142 return ( this->labeledCandidateList().begin( m_label ) ) ;
144
145template < class CandidateClass >
147{
148 return ( this->labeledCandidateList().end( m_label ) ) ;
149}
151template < class CandidateClass >
153{
154 return ( this->labeledCandidateList().begin( otherLabel( m_label ) ) ) ;
155}
156
157template < class CandidateClass >
159{
160 return ( this->labeledCandidateList().end( otherLabel( m_label ) ) ) ;
161}
162
163
164template < class CandidateClass >
166{
167 return ( m_label ) ;
168}
169
170//
171// static member functions
172//
173}
174#endif /* DCHAIN_CONJUGATELIST_CC */
virtual dchain::LabeledCandidateList< CandidateClass > & labeledCandidateList()=0
const_partial_iterator conjugate_partial_begin() const
bool isConjugateOf(const ConjugateList< CandidateClass > &aList) const
const_partial_iterator conjugate_partial_end() const
virtual conjugation::Label label() const
virtual const_partial_iterator partial_begin() const
void setLabel(const conjugation::Label aLabel)
virtual bool isSelfConjugate() const
virtual const_partial_iterator partial_end() const
conjugation::Label otherLabel(const conjugation::Label &aLabel)
Definition conjugation.h:51