CGEM BOSS
6.6.5.i
BESIII Offline Software System
Loading...
Searching...
No Matches
NeutralVisibleList.cc
Go to the documentation of this file.
1
#ifndef DCHAIN_NEUTRALVISIBLELIST_CC
2
#define DCHAIN_NEUTRALVISIBLELIST_CC
3
// -*- C++ -*-
4
//
5
// Package: DChain
6
// Module: NeutralVisibleList
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: NeutralVisibleList.cc,v 1.1.1.1 2009/03/03 06:06:56 maqm Exp $
16
//
17
// Revision history
18
//
19
// $Log: NeutralVisibleList.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:40 cdj
24
// massive class renaming, addition of [] for selection and unit tests
25
//
26
// Revision 1.2 2003/05/15 19:56:13 cdj
27
// revamped memory handling so always use a ReferenceHolder to deal with the reference counting
28
//
29
// Revision 1.1.1.1 2000/12/18 22:16:56 cdj
30
// imported DChain
31
//
32
// Revision 1.14 1998/08/20 20:00:14 sjp
33
// Modified to use DChainBoolean
34
//
35
// Revision 1.13 1998/08/19 20:46:26 sjp
36
// Fixed comments and removed report references
37
//
38
// Revision 1.12 1998/04/17 19:14:54 sjp
39
// Modified to use latest type
40
//
41
// Revision 1.11 1997/09/17 20:05:36 sjp
42
// Removed filling to superclass
43
//
44
// Revision 1.10 1997/09/03 14:58:28 sjp
45
// Use new report.h and TBParticlePoint
46
//
47
// Revision 1.9 1997/08/28 07:00:23 sjp
48
// Modified files to handle complete templating
49
//
50
// Revision 1.8 1997/08/19 23:02:39 sjp
51
// Restructured package to be independent of Rock
52
//
53
// Revision 1.7 1997/08/19 15:55:29 sjp
54
// Modified list to have no dependence on any other
55
// structures except its contents, which must have
56
// certain `typedef' available to use.
57
//
58
// Revision 1.6 1997/08/15 21:33:55 sjp
59
// Updated to use <package>/<file>.h include structure.
60
// Updated to use bug flags specified in Experiement.h
61
//
62
// Revision 1.5 1997/01/31 20:16:29 sjp
63
// Modified to use the new `bug' include files
64
//
65
// Revision 1.4 1997/01/21 20:31:50 sjp
66
// Changed CPP flags and include because of library reorganization
67
//
68
// Revision 1.3 1996/12/20 21:14:03 sjp
69
// Changed aPossible to Possible and added dropLink where nec.
70
//
71
// Revision 1.2 1996/11/05 19:31:31 sjp
72
// Added definition for filling for TruthTable.
73
//
74
// Revision 1.1 1996/11/04 17:17:22 sjp
75
// New file for new `List' module
76
//
77
78
// system include files
79
#include <stdlib.h>
// required for 'exit'
80
81
// user include files
82
#include "
DecayChain/Element/conjugation.h
"
83
#include "
DecayChain/Element/LabeledParticle.h
"
84
#include "
DecayChain/Iterator/MuteWholeItr.h
"
85
#include "
DecayChain/Iterator/WholeItr.h
"
86
#include "
DecayChain/List/LabeledParticleList.h
"
87
88
#include "
DecayChain/List/NeutralVisibleList.h
"
89
90
namespace
dchain
{
91
//
92
// constants, enums and typedefs
93
//
94
95
//
96
// static data member definitions
97
//
98
99
//
100
// constructors and destructor
101
//
102
103
template
<
class
Neutral ,
class
Cand
id
ateClass >
104
NeutralVisibleList< Neutral , CandidateClass >::
105
NeutralVisibleList
() :
106
dchain
::
ConjugateList
< CandidateClass >(
dchain
::conjugation::kNone ) ,
107
m_list( (new
dchain
::
LabeledParticleList
< Neutral , CandidateClass >) )
108
{
109
}
110
111
template
<
class
Neutral ,
class
Cand
id
ateClass >
112
NeutralVisibleList< Neutral , CandidateClass >::
113
NeutralVisibleList
(
const
NeutralVisibleList< Neutral , CandidateClass >
& aOtherList ) :
114
dchain
::
ConjugateList
< CandidateClass >(
dchain
::conjugation::kNone ) ,
115
m_list( (new
dchain
::
LabeledParticleList
< Neutral , CandidateClass >) )
116
{
117
typedef
typename
MakerTrait<Neutral>::maker_type
Maker;
118
fill
( *(aOtherList.m_list), Maker(),
SelectAll<Neutral>
() ) ;
119
120
}
121
122
123
template
<
class
Neutral ,
class
Cand
id
ateClass >
124
NeutralVisibleList< Neutral , CandidateClass >::
125
~NeutralVisibleList
()
126
{
127
}
128
129
//
130
// assignment operators
131
//
132
133
template
<
class
Neutral ,
class
Cand
id
ateClass >
134
const
NeutralVisibleList< Neutral , CandidateClass >
&
NeutralVisibleList< Neutral , CandidateClass >::operator=
(
const
NeutralVisibleList< Neutral , CandidateClass >
& aOtherList )
135
{
136
eraseContents() ;
137
typedef
typename
MakerTrait<Neutral>::maker_type
Maker;
138
fill
( *(aOtherList.m_list), Maker(),
SelectAll<Neutral>
() ) ;
139
return
( *
this
) ;
140
}
141
142
//
143
// member functions
144
//
145
146
template
<
class
Neutral ,
class
Cand
id
ateClass >
147
typename
NeutralVisibleList< Neutral , CandidateClass >::iterator
NeutralVisibleList< Neutral , CandidateClass >::particle_begin
()
148
{
149
return
( m_list->begin() ) ;
150
}
151
152
template
<
class
Neutral ,
class
Cand
id
ateClass >
153
typename
NeutralVisibleList< Neutral , CandidateClass >::iterator
NeutralVisibleList< Neutral , CandidateClass >::particle_end
()
154
{
155
return
( m_list->end() ) ;
156
}
157
158
template
<
class
Neutral ,
class
Cand
id
ateClass >
159
dchain::LabeledParticleList< Neutral, CandidateClass >
&
NeutralVisibleList< Neutral , CandidateClass >::labeledCandidateList
()
160
{
161
return
( *m_list ) ;
162
}
163
164
165
template
<
class
Neutral ,
class
Cand
id
ateClass >
166
void
NeutralVisibleList< Neutral , CandidateClass >::eraseContents
()
167
{
168
m_list->
erase
( m_list->begin() ,
169
m_list->end() ) ;
170
}
171
172
//
173
// const member functions
174
//
175
176
template
<
class
Neutral ,
class
Cand
id
ateClass >
177
typename
NeutralVisibleList< Neutral , CandidateClass >::const_iterator
NeutralVisibleList< Neutral , CandidateClass >::particle_begin
()
const
178
{
179
// Need to cast to 'const' to get the right function call
180
return
( (*(
const
dchain::LabeledParticleList< Neutral , CandidateClass >
*)(m_list.pointer())).begin() ) ;
181
}
182
183
template
<
class
Neutral ,
class
Cand
id
ateClass >
184
typename
NeutralVisibleList< Neutral , CandidateClass >::const_iterator
NeutralVisibleList< Neutral , CandidateClass >::particle_end
()
const
185
{
186
// Need to cast to 'const' to get the right function call
187
return
( (*(
const
dchain::LabeledParticleList< Neutral , CandidateClass >
*)(m_list.pointer())).end() ) ;
188
}
189
190
191
template
<
class
Neutral ,
class
Cand
id
ateClass >
192
const
dchain::LabeledParticleList< Neutral, CandidateClass >
&
NeutralVisibleList< Neutral , CandidateClass >::labeledCandidateList
()
const
193
{
194
return
( *m_list ) ;
195
}
196
197
//
198
// static member functions
199
//
200
}
201
#endif
/* DCHAIN_NEUTRALVISIBLELIST_CC */
LabeledParticleList.h
LabeledParticle.h
MuteWholeItr.h
fill
void fill(NTuple::Array< double > &nt_p4, const HepLorentzVector &p4)
Definition
MyUtil.cxx:3
NeutralVisibleList.h
WholeItr.h
dchain::ConjugateList
Definition
ConjugateList.h:84
dchain::LabeledCandidateList::erase
void erase(iterator aStart, iterator aFinish)
Definition
LabeledCandidateList.cc:135
dchain::LabeledParticleList
Definition
LabeledParticleList.h:113
dchain::MuteWholeItr
Definition
NeutralVisibleList.h:88
dchain::NeutralVisibleList
Definition
NeutralVisibleList.h:101
dchain::NeutralVisibleList::~NeutralVisibleList
virtual ~NeutralVisibleList()
Definition
NeutralVisibleList.cc:125
dchain::NeutralVisibleList::NeutralVisibleList
NeutralVisibleList()
Definition
NeutralVisibleList.cc:105
dchain::NeutralVisibleList::labeledCandidateList
virtual dchain::LabeledParticleList< Neutral, CandidateClass > & labeledCandidateList()
Definition
NeutralVisibleList.cc:159
dchain::NeutralVisibleList::operator=
const self_type & operator=(const self_type &aOtherList)
Definition
NeutralVisibleList.cc:134
dchain::NeutralVisibleList::particle_end
iterator particle_end()
Definition
NeutralVisibleList.cc:153
dchain::NeutralVisibleList::particle_begin
iterator particle_begin()
Definition
NeutralVisibleList.cc:147
dchain::NeutralVisibleList::eraseContents
void eraseContents()
Definition
NeutralVisibleList.cc:166
dchain::WholeItr
Definition
NeutralVisibleList.h:89
conjugation.h
dchain
Definition
children.h:16
dchain::NewMaker
Definition
MakerTrait.h:38
dchain::SelectAll
Definition
SelectAll.h:39
6.6.5.i
Event
DecayChain
DecayChain-00-00-03-slc6tag
DecayChain
List
Template
NeutralVisibleList.cc
Generated by
1.12.0