CGEM BOSS
6.6.5.i
BESIII Offline Software System
Loading...
Searching...
No Matches
DCNeutralVisibleList.cc
Go to the documentation of this file.
1
#ifndef DCHAIN_DCNEUTRALVISIBLELIST_CC
2
#define DCHAIN_DCNEUTRALVISIBLELIST_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: DCNeutralVisibleList.cc,v 1.1.1.1 2009/03/03 06:06:56 maqm Exp $
16
//
17
// Revision history
18
//
19
// $Log: DCNeutralVisibleList.cc,v $
20
// Revision 1.1.1.1 2009/03/03 06:06:56 maqm
21
// first import of DecayChain
22
//
23
// Revision 1.3 2006/01/11 20:28:39 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/Function/DCSelectionFunction.h
"
83
#include "
DecayChain/Function/DCAnalysisFunction.h
"
84
#include "
DecayChain/Element/conjugation.h
"
85
#include "
DecayChain/Element/LabeledParticle.h
"
86
#include "
DecayChain/Iterator/MuteWholeItr.h
"
87
#include "
DecayChain/Iterator/WholeItr.h
"
88
#include "
DecayChain/List/LabeledParticleList.h
"
89
90
#include "
DecayChain/List/DCNeutralVisibleList.h
"
91
92
// STL include files
93
//#include <vector>
94
95
//
96
// constants, enums and typedefs
97
//
98
99
//
100
// static data member definitions
101
//
102
103
//
104
// constructors and destructor
105
//
106
107
template
<
class
Neutral ,
class
Cand
id
ateClass >
108
DCNeutralVisibleList< Neutral , CandidateClass >::
109
DCNeutralVisibleList
(
bool
( * pFunction )( Neutral& ) ) :
110
m_function( pFunction ) ,
111
m_functionalObject( 0 )
112
{
113
}
114
115
template
<
class
Neutral ,
class
Cand
id
ateClass >
116
DCNeutralVisibleList< Neutral , CandidateClass >::
117
DCNeutralVisibleList
(
const
DCNeutralVisibleList< Neutral , CandidateClass >
& aOtherList ,
118
bool
( * pFunction )( Neutral& ) ) :
119
dchain
::NeutralVisibleList< Neutral, CandidateClass >( aOtherList, pFunction ) ,
120
m_function( pFunction ) ,
121
m_functionalObject( 0 )
122
{
123
}
124
125
template
<
class
Neutral ,
class
Cand
id
ateClass >
126
DCNeutralVisibleList< Neutral , CandidateClass >::
127
DCNeutralVisibleList
(
DCSelectionFunction< Neutral >
& aFunctionalObject ) :
128
m_function( 0 ) ,
129
m_functionalObject( &aFunctionalObject )
130
{
131
}
132
133
template
<
class
Neutral ,
class
Cand
id
ateClass >
134
DCNeutralVisibleList< Neutral , CandidateClass >::
135
DCNeutralVisibleList
(
const
DCNeutralVisibleList< Neutral , CandidateClass >
& aOtherList ,
136
DCSelectionFunction< Neutral >
& aFunctionalObject ) :
137
dchain
::NeutralVisibleList< Neutral,CandidateClass >( aOtherList, aFunctionalObject),
138
m_function( 0 ) ,
139
m_functionalObject( &aFunctionalObject )
140
{
141
}
142
143
template
<
class
Neutral ,
class
Cand
id
ateClass >
144
DCNeutralVisibleList< Neutral , CandidateClass >::
145
~DCNeutralVisibleList
()
146
{
147
}
148
149
//
150
// assignment operators
151
//
152
153
template
<
class
Neutral ,
class
Cand
id
ateClass >
154
const
DCNeutralVisibleList< Neutral , CandidateClass >
&
DCNeutralVisibleList< Neutral , CandidateClass >::operator=
(
const
DCNeutralVisibleList< Neutral , CandidateClass >
& aOtherList )
155
{
156
this->eraseContents() ;
157
fill
( aOtherList.
labeledCandidateList
() ) ;
158
return
( *
this
) ;
159
}
160
161
template
<
class
Neutral ,
class
Cand
id
ateClass >
162
void
DCNeutralVisibleList< Neutral , CandidateClass >::fill
(
const
dchain::LabeledParticleList< Neutral , CandidateClass >
& aList )
163
{
164
if
( 0 != m_function ) {
165
fill
(aList,
dchain::NewMaker<Neutral>
(), m_function);
166
}
else
if
(m_functionalObject) {
167
fill
(aList,
dchain::NewMaker<Neutral>
(), m_functionalObject);
168
}
else
{
169
fill
(aList,
dchain::NewMaker<Neutral>
(),
dchain::SelectAll<Neutral>
());
170
}
171
}
172
173
//
174
// member functions
175
//
176
177
//
178
// static member functions
179
//
180
181
#endif
/* DCHAIN_DCNEUTRALVISIBLELIST_CC */
DCAnalysisFunction.h
DCNeutralVisibleList.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
DCNeutralVisibleList
Definition
DCNeutralVisibleList.h:94
DCNeutralVisibleList::operator=
const DCNeutralVisibleList< Neutral, CandidateClass > & operator=(const DCNeutralVisibleList< Neutral, CandidateClass > &aOtherList)
Definition
DCNeutralVisibleList.cc:154
DCNeutralVisibleList::~DCNeutralVisibleList
virtual ~DCNeutralVisibleList()
Definition
DCNeutralVisibleList.cc:145
DCNeutralVisibleList::fill
void fill(const dchain::LabeledParticleList< Neutral, CandidateClass > &aList)
Definition
DCNeutralVisibleList.cc:162
DCNeutralVisibleList::DCNeutralVisibleList
DCNeutralVisibleList(bool(*pFunction)(Neutral &)=0)
Definition
DCNeutralVisibleList.cc:109
DCSelectionFunction< Neutral >
dchain::LabeledParticleList
Definition
LabeledParticleList.h:113
dchain::NeutralVisibleList::labeledCandidateList
virtual dchain::LabeledParticleList< Neutral, CandidateClass > & labeledCandidateList()
Definition
NeutralVisibleList.cc:159
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
DCNeutralVisibleList.cc
Generated by
1.12.0