BOSS 7.1.0
BESIII Offline Software System
Loading...
Searching...
No Matches
ChosenChargeList.cc
Go to the documentation of this file.
1#ifndef DCHAIN_CHOSENCHARGELIST_CC
2#define DCHAIN_CHOSENCHARGELIST_CC
3// -*- C++ -*-
4//
5// Package: DChain
6// Module: ChosenChargeList
7//
8// Description: <one line class summary>
9//
10// Implimentation:
11// <Notes on implimentation>
12//
13// Author: Simon Patton
14// Created: Fri Oct 4 11:04:56 EDT 1996
15// $Id: ChosenChargeList.cc,v 1.1.1.1 2009/03/03 06:06:56 maqm Exp $
16//
17// Revision history
18//
19// $Log: ChosenChargeList.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:34 cdj
24// massive class renaming, addition of [] for selection and unit tests
25//
26// Revision 1.3 2003/05/15 19:56:11 cdj
27// revamped memory handling so always use a ReferenceHolder to deal with the reference counting
28//
29// Revision 1.2 2003/03/13 20:19:16 cleo3
30// now compiles under Linux
31//
32// Revision 1.1.1.1 2000/12/18 22:16:55 cdj
33// imported DChain
34//
35// Revision 1.12 1998/08/20 20:00:09 sjp
36// Modified to use DChainBoolean
37//
38// Revision 1.11 1998/08/19 20:46:20 sjp
39// Fixed comments and removed report references
40//
41// Revision 1.10 1998/04/17 19:14:47 sjp
42// Modified to use latest type
43//
44// Revision 1.9 1997/09/03 14:58:20 sjp
45// Use new report.h and TBParticlePoint
46//
47// Revision 1.8 1997/08/28 07:00:19 sjp
48// Modified files to handle complete templating
49//
50// Revision 1.7 1997/08/19 23:02:34 sjp
51// Restructured package to be independent of Rock
52//
53// Revision 1.6 1997/08/19 16:16:48 sjp
54// Changed Template's Parameter for symmetry with Neutrals
55//
56// Revision 1.5 1997/08/15 21:33:02 sjp
57// Updated to use <package>/<file>.h include structure.
58// Updated to use bug flags specified in Experiement.h
59//
60// Revision 1.4 1997/01/31 20:17:30 sjp
61// Modified to use the new `bug' include files
62//
63// Revision 1.3 1997/01/21 20:34:29 sjp
64// Changed CPP flags and include because of library reorganization
65//
66// Revision 1.2 1996/12/20 21:15:59 sjp
67// Ammended to allow for LabaledLists being reference counted.
68// Added dropLink() for all created entries.
69//
70// Revision 1.1 1996/11/04 19:36:41 sjp
71// New file for new `List' module
72//
74// system include files
75#include <stdlib.h> // required for 'exit'
77// user include files
86
88
89//
90// constants, enums and typedefs
91//
92namespace dchain {
93//
94// static data member definitions
95//
96
97//
98// constructors and destructor
99//
100template < class Charged , class CandidateClass >
102 const conjugation::Label aLabel ) :
103 ConjugateList< CandidateClass >( aLabel ) ,
104 m_list( &aLabeledDecayList )
105{
106}
107
108template < class Charged , class CandidateClass >
110{
111}
113//
114// assignment operators
115//
116// template < class Charged , class CandidateClass >
117// const ChosenChargeList< Charged , CandidateClass >& ChosenChargeList< Charged , CandidateClass >::operator=( const ChosenChargeList< Charged , CandidateClass >& aOtherList )
118// {
119// }
120
121//
122// member functions
123//
124template < class Charged , class CandidateClass >
126{
127 return ( m_list->begin() ) ;
128}
129
130template < class Charged , class CandidateClass >
132{
133 return ( m_list->end() ) ;
134}
135
136template < class Charged , class CandidateClass >
138{
139 return ( *m_list ) ;
140}
141
142//
143// const member functions
144//
145template < class Charged , class CandidateClass >
147{
148// Need to cast to 'const' to get the right function call
149 return ( (*(const dchain::LabeledParticleList< Charged , CandidateClass >*)(m_list.pointer())).begin() ) ;
150}
151
152template < class Charged , class CandidateClass >
154{
155// Need to cast to 'const' to get the right function call
156 return ( (*(const dchain::LabeledParticleList< Charged , CandidateClass >*)(m_list.pointer())).end() ) ;
157}
158
159template < class Charged , class CandidateClass >
161{
162// Need to cast to 'const' to get the right function call
163 return ( (*(const dchain::LabeledParticleList< Charged , CandidateClass >*)(m_list.pointer())).begin( this->label() ) ) ;
164}
165
166template < class Charged , class CandidateClass >
168{
169// Need to cast to 'const' to get the right function call
170 return ( (*(const dchain::LabeledParticleList< Charged , CandidateClass >*)(m_list.pointer())).end( this->label() ) ) ;
171}
172
173template < class Charged , class CandidateClass >
175{
176 return ( *m_list ) ;
177}
178
179//
180// static member functions
181//
182}
183
184#endif /* DCHAIN_CHOSENCHARGELIST_CC */
const_partial_iterator partial_particle_begin() const
const_partial_iterator partial_particle_end() const
virtual dchain::LabeledCandidateList< CandidateClass > & labeledCandidateList()