CGEM BOSS
6.6.5.i
BESIII Offline Software System
Loading...
Searching...
No Matches
DCDecayList.cc
Go to the documentation of this file.
1
#ifndef DCHAIN_DCDECAYLIST_CC
2
#define DCHAIN_DCDECAYLIST_CC
3
// -*- C++ -*-
4
//
5
// Package: DChain
6
// Module: DecayList
7
//
8
// Description: container of subclasses of Decay, used for iteration
9
//
10
// Implimentation:
11
// <Notes on implimentation>
12
//
13
// Author: Simon Patton
14
// Created: Fri Oct 4 11:04:56 EDT 1996
15
// $Id: DCDecayList.cc,v 1.1.1.1 2009/03/03 06:06:56 maqm Exp $
16
//
17
// Revision history
18
//
19
// $Log: DCDecayList.cc,v $
20
// Revision 1.1.1.1 2009/03/03 06:06:56 maqm
21
// first import of DecayChain
22
//
23
// Revision 1.8 2006/02/03 18:29:34 cdj
24
// fixed bug in copy constructor and operator=
25
//
26
// Revision 1.7 2006/01/11 20:28:38 cdj
27
// massive class renaming, addition of [] for selection and unit tests
28
//
29
// Revision 1.6 2003/10/23 18:43:41 cdj
30
// can now use DCDecayList with other Decay objects
31
//
32
// Revision 1.5 2003/05/16 18:33:39 cdj
33
// previous change now works properly on OSF
34
//
35
// Revision 1.4 2003/05/15 19:56:12 cdj
36
// revamped memory handling so always use a ReferenceHolder to deal with the reference counting
37
//
38
// Revision 1.3 2003/03/13 20:19:16 cleo3
39
// now compiles under Linux
40
//
41
// Revision 1.2 2001/03/23 23:07:48 urner
42
// modification needed to add pi0 eta and Ks decay lists in CleoDChain
43
//
44
// Revision 1.1.1.1 2000/12/18 22:16:55 cdj
45
// imported DChain
46
//
47
// Revision 1.13 1998/08/20 20:00:07 sjp
48
// Modified to use DChainBoolean
49
//
50
// Revision 1.12 1998/08/19 20:46:18 sjp
51
// Fixed comments and removed report references
52
//
53
// Revision 1.11 1998/06/30 23:42:06 sjp
54
// Cleaned up return object from labeledCandidateList
55
//
56
// Revision 1.10 1998/05/01 20:20:03 sjp
57
// Removed unnecessary functions which were causing infinate loop
58
//
59
// Revision 1.9 1998/04/17 19:14:45 sjp
60
// Modified to use latest type
61
//
62
// Revision 1.8 1997/09/03 14:58:17 sjp
63
// Use new report.h and TBParticlePoint
64
//
65
// Revision 1.7 1997/08/28 07:00:15 sjp
66
// Modified files to handle complete templating
67
//
68
// Revision 1.6 1997/08/19 23:02:31 sjp
69
// Restructured package to be independent of Rock
70
//
71
// Revision 1.5 1997/08/15 21:32:58 sjp
72
// Updated to use <package>/<file>.h include structure.
73
// Updated to use bug flags specified in Experiement.h
74
//
75
// Revision 1.4 1997/01/31 20:17:26 sjp
76
// Modified to use the new `bug' include files
77
//
78
// Revision 1.3 1997/01/21 20:34:38 sjp
79
// Changed CPP flags and include because of library reorganization
80
//
81
// Revision 1.2 1996/12/20 21:16:01 sjp
82
// Ammended to allow for LabaledLists being reference counted.
83
// Added dropLink() for all created entries.
84
//
85
// Revision 1.1 1996/11/04 19:36:49 sjp
86
// New file for new `List' module
87
//
88
89
// system include files
90
#include <stdlib.h>
// required for 'exit'
91
#include <iostream>
92
93
// user include files
94
#include "
DecayChain/Function/DCSelectionFunction.h
"
95
#include "
DecayChain/Function/DCAnalysisFunction.h
"
96
#include "
DecayChain/Function/DCConjugateFunction.h
"
97
#include "
DecayChain/Element/conjugation.h
"
98
#include "
DecayChain/Element/LabeledParticle.h
"
99
#include "
DecayChain/Iterator/MuteWholeItr.h
"
100
#include "
DecayChain/Iterator/WholeItr.h
"
101
#include "
DecayChain/Iterator/PartialItr.h
"
102
#include "
DecayChain/List/LabeledParticleList.h
"
103
#include "
DecayChain/List/CombinatoricList.h
"
104
105
#include "
DecayChain/List/DCDecayList.h
"
106
107
//
108
// constants, enums and typedefs
109
//
110
111
//
112
// static data member definitions
113
//
114
115
//
116
// constructors and destructor
117
//
118
template
<
class
DecayClass ,
class
Cand
id
ateClass >
119
DCDecayList< DecayClass , CandidateClass >::DCDecayList
(
bool
( * pFunction )( DecayClass& ) ) :
120
m_function( pFunction ) ,
121
m_functionalObject( 0 )
122
{
123
}
124
125
template
<
class
DecayClass ,
class
Cand
id
ateClass >
126
DCDecayList< DecayClass , CandidateClass >::DCDecayList
(
const
DCDecayList< DecayClass , CandidateClass >
& aOtherList ,
127
bool
( * pFunction )( DecayClass& ) ) :
128
dchain
::DecayList<DecayClass,CandidateClass>(),
129
m_function( pFunction ) ,
130
m_functionalObject( 0 )
131
{
132
fill( aOtherList ) ;
133
}
134
135
template
<
class
DecayClass ,
class
Cand
id
ateClass >
136
DCDecayList< DecayClass , CandidateClass >::DCDecayList
(
DCSelectionFunction< DecayClass >
& aFunctionalObject ) :
137
m_function( 0 ) ,
138
m_functionalObject( &aFunctionalObject )
139
{
140
}
141
142
143
template
<
class
DecayClass ,
class
Cand
id
ateClass >
144
DCDecayList< DecayClass , CandidateClass >::DCDecayList
(
dchain::LabeledParticleList< DecayClass , CandidateClass >
& aLabeledList ,
dchain::conjugation::Label
aLabel ) :
145
dchain
::DecayList<DecayClass,CandidateClass>(aLabeledList, aLabel),
146
m_function( 0 ) ,
147
m_functionalObject( 0 )
148
{
149
}
150
151
//
152
// assignment operators
153
//
154
155
template
<
class
DecayClass ,
class
Cand
id
ateClass >
156
const
DCDecayList< DecayClass , CandidateClass >
&
DCDecayList< DecayClass , CandidateClass >::operator=
(
const
dchain::CombinatoricList< CandidateClass >
& aOtherList )
157
{
158
//std::cout << "@DCDecayList::operator=() ... (CombinatoricList)" << std::endl;
159
this->erase();
160
fill
(aOtherList);
161
//static_cast<dchain::DecayList<DecayClass,CandidateClass>&>(*this)=aOtherList;
162
return
*
this
;
163
}
164
165
//
166
// member functions
167
//
168
169
170
//
171
// const member functions
172
//
173
174
175
176
//
177
// static member functions
178
//
179
180
#endif
/* DCHAIN_DCDECAYLIST_CC */
CombinatoricList.h
DCAnalysisFunction.h
DCConjugateFunction.h
DCDecayList.h
DCSelectionFunction.h
LabeledParticleList.h
LabeledParticle.h
MuteWholeItr.h
fill
void fill(NTuple::Array< double > &nt_p4, const HepLorentzVector &p4)
Definition
MyUtil.cxx:3
PartialItr.h
WholeItr.h
DCDecayList
Definition
DCDecayList.h:136
DCDecayList::operator=
const DCDecayList< DecayClass, CandidateClass > & operator=(const DCDecayList< TDecay, CandidateClass > &aOtherList)
Definition
DCDecayList.h:167
DCDecayList::DCDecayList
DCDecayList(bool(*pFunction)(DecayClass &)=0)
Definition
DCDecayList.cc:119
DCSelectionFunction< DecayClass >
dchain::CombinatoricList
Definition
FillListWithSelection.h:42
dchain::LabeledParticleList
Definition
LabeledParticleList.h:113
conjugation.h
dchain::conjugation::Label
Label
Definition
conjugation.h:39
dchain
Definition
children.h:16
6.6.5.i
Event
DecayChain
DecayChain-00-00-03-slc6tag
DecayChain
List
Template
DCDecayList.cc
Generated by
1.12.0