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