BOSS
7.1.2
BESIII Offline Software System
Loading...
Searching...
No Matches
DCNeutralVisibleList.h
Go to the documentation of this file.
1
#ifndef DCHAIN_DCNEUTRALVISIBLELIST_H
2
#define DCHAIN_DCNEUTRALVISIBLELIST_H
3
// -*- C++ -*-
4
//
5
// Package: DChain
6
// Module: NeutralVisibleList
7
//
8
// Description: List to hold Candidates generated from observed Tracks.
9
//
10
// Usage:
11
// <usage>
12
//
13
// Author: Simon Patton
14
// Created: Fri Oct 4 11:04:47 EDT 1996
15
// $Id: DCNeutralVisibleList.h,v 1.1.1.1 2009/03/03 06:06:56 maqm Exp $
16
//
17
// Revision history
18
//
19
// $Log: DCNeutralVisibleList.h,v $
20
// Revision 1.1.1.1 2009/03/03 06:06:56 maqm
21
// first import of DecayChain
22
//
23
// Revision 1.5 2006/01/11 20:28:27 cdj
24
// massive class renaming, addition of [] for selection and unit tests
25
//
26
// Revision 1.4 2003/05/15 19:56:08 cdj
27
// revamped memory handling so always use a ReferenceHolder to deal with the reference counting
28
//
29
// Revision 1.3 2001/03/28 14:27:58 urner
30
// added same workaround as for charged because of NonTemplatedMemberFunctionBug
31
//
32
// Revision 1.2 2001/03/23 23:07:44 urner
33
// modification needed to add pi0 eta and Ks decay lists in CleoDChain
34
//
35
// Revision 1.1.1.1 2000/12/18 22:16:53 cdj
36
// imported DChain
37
//
38
// Revision 1.11 1998/08/20 19:59:05 sjp
39
// Modified to use DChainBoolean
40
//
41
// Revision 1.10 1998/04/17 19:11:05 sjp
42
// Modified to use latest types
43
//
44
// Revision 1.9 1997/09/17 20:05:29 sjp
45
// Removed filling to superclass
46
//
47
// Revision 1.8 1997/08/28 06:59:56 sjp
48
// Modified files to handle complete templating
49
//
50
// Revision 1.7 1997/08/19 15:55:10 sjp
51
// Modified list to have no dependence on any other
52
// structures except its contents, which must have
53
// certain `typedef' available to use.
54
//
55
// Revision 1.6 1997/08/15 21:32:39 sjp
56
// Updated to use <package>/<file>.h include structure.
57
// Updated to use bug flags specified in Experiement.h
58
//
59
// Revision 1.5 1997/01/31 20:17:14 sjp
60
// Modified to use the new `bug' include files
61
//
62
// Revision 1.4 1997/01/22 16:27:32 sjp
63
// Fixed error in pre-processor labels
64
//
65
// Revision 1.3 1997/01/21 20:34:06 sjp
66
// Changed CPP flags and include because of library reorganization
67
//
68
// Revision 1.2 1996/12/20 21:19:23 sjp
69
// Extended pathnames for Include files
70
//
71
// Revision 1.1 1996/11/04 19:36:11 sjp
72
// New file for new `List' module
73
//
74
75
// system include files
76
77
// user include files
78
#include "
DecayChain/List/NeutralVisibleList.h
"
// superclass declaration
79
#include "
DecayChain/Function/DCUnaryAdapter.h
"
80
#include "
DecayChain/Function/DCSelectionFunction.h
"
81
#include "
DecayChain/Function/DCAnalysisFunction.h
"
82
83
// forward declarations
84
85
//
86
// Note: To avoid a myriad of conpiler flags it is easier to
87
// have a two parameter template class. The instantiation
88
// of this class must look like
89
//
90
// template class LabeledDecayList< A , A::CandidateClass > ;
91
92
template
<
class
Neutral ,
class
Cand
id
ateClass >
93
class
DCNeutralVisibleList
:
public
dchain::NeutralVisibleList
< Neutral, CandidateClass >
94
{
95
// friend classses and functions
96
97
public
:
98
// constants, enums and typedefs
99
/*
100
typedef dchain::MuteWholeItr< Neutral > iterator ;
101
typedef dchain::WholeItr< Neutral > const_iterator ;
102
//typedef dchain::PartialItr< Neutral > const_partial_iterator ;
103
*/
104
typedef
Neutral
value_type
;
105
106
// Constructors and destructor
107
DCNeutralVisibleList
(
bool
( * pFunction )( Neutral& ) = 0 ) ;
108
DCNeutralVisibleList
(
const
DCNeutralVisibleList< Neutral , CandidateClass >
& aOtherList ,
109
bool
( * pFunction )( Neutral& ) = 0 ) ;
110
DCNeutralVisibleList
(
DCSelectionFunction< Neutral >
& aFunctionalObject ) ;
111
DCNeutralVisibleList
(
const
DCNeutralVisibleList< Neutral , CandidateClass >
& aOtherList ,
112
DCSelectionFunction< Neutral >
& aFunctionalObject ) ;
113
virtual
~DCNeutralVisibleList
() ;
114
115
// assignment operator(s)
116
const
DCNeutralVisibleList< Neutral , CandidateClass >
&
operator=
(
const
DCNeutralVisibleList< Neutral , CandidateClass >
& aOtherList );
117
118
// member functions
119
120
// const member functions
121
122
// static member functions
123
124
protected
:
125
// protected member functions
126
using
dchain::NeutralVisibleList
<Neutral,CandidateClass>
::fill
;
127
void
fill
(
const
dchain::LabeledParticleList< Neutral , CandidateClass >
& aList ) ;
128
129
template
<
class
Iterator>
130
void
fill
(Iterator first, Iterator last) {
131
if
( 0 != m_function ) {
132
fill
(first,last,
dchain::NewMaker<Neutral>
(), m_function);
133
}
else
if
(m_functionalObject) {
134
fill
(first,last,
dchain::NewMaker<Neutral>
(),m_functionalObject);
135
}
else
{
136
fill
(first,last,
dchain::NewMaker<Neutral>
(),
dchain::SelectAll<Neutral>
());
137
}
138
}
139
140
141
// protected const member functions
142
143
private
:
144
// Constructors and destructor
145
146
// private member functions
147
148
// private const member functions
149
150
// data members
151
bool
( * m_function )( Neutral& ) ;
152
dchain::DCUnaryAdapter<DCSelectionFunction< Neutral >
> m_functionalObject ;
153
154
// static data members
155
156
} ;
157
158
// inline function definitions
159
160
// function definitions
161
#include "
DecayChain/List/Template/DCNeutralVisibleList.cc
"
162
163
#endif
/* DCHAIN_DCNEUTRALVISIBLELIST_H */
bool
int bool
Definition
BesCxxPolicy/BesCxxPolicy-00-02-00/CxxFeatures/config.h:16
DCAnalysisFunction.h
DCNeutralVisibleList.cc
DCSelectionFunction.h
DCUnaryAdapter.h
NeutralVisibleList.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(Iterator first, Iterator last)
Definition
DCNeutralVisibleList.h:130
DCNeutralVisibleList::fill
void fill(const dchain::LabeledParticleList< Neutral, CandidateClass > &aList)
Definition
DCNeutralVisibleList.cc:162
DCNeutralVisibleList::value_type
Neutral value_type
Definition
DCNeutralVisibleList.h:104
DCNeutralVisibleList::DCNeutralVisibleList
DCNeutralVisibleList(bool(*pFunction)(Neutral &)=0)
Definition
DCNeutralVisibleList.cc:109
DCSelectionFunction< Neutral >
dchain::DCUnaryAdapter
Definition
DCUnaryAdapter.h:41
dchain::LabeledParticleList
Definition
LabeledParticleList.h:113
dchain::NeutralVisibleList
Definition
NeutralVisibleList.h:101
dchain::NewMaker
Definition
MakerTrait.h:38
dchain::SelectAll
Definition
SelectAll.h:39
7.1.2
Event
DecayChain
DecayChain-00-04-01
DecayChain
List
DCNeutralVisibleList.h
Generated by
1.12.0