CGEM BOSS 6.6.5.g
BESIII Offline Software System
Loading...
Searching...
No Matches
DCFillableNeutralList.cc
Go to the documentation of this file.
1#ifndef DCHAIN_FILLABLENEUTRALLIST_CC
2#define DCHAIN_FILLABLENEUTRALLIST_CC
3// -*- C++ -*-
4//
5// Package: DChain
6// Module: FillableNeutralList
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: DCFillableNeutralList.cc,v 1.1.1.1 2009/03/03 06:06:56 maqm Exp $
16//
17// Revision history
18//
19// $Log: DCFillableNeutralList.cc,v $
20// Revision 1.1.1.1 2009/03/03 06:06:56 maqm
21// first import of DecayChain
22//
23// Revision 1.2 2006/01/11 20:28:38 cdj
24// massive class renaming, addition of [] for selection and unit tests
25//
26// Revision 1.1.1.1 2000/12/18 22:16:56 cdj
27// imported DChain
28//
29// Revision 1.4 1998/08/20 20:00:12 sjp
30// Modified to use DChainBoolean
31//
32// Revision 1.3 1998/08/19 20:46:23 sjp
33// Fixed comments and removed report references
34//
35// Revision 1.2 1998/04/17 19:14:52 sjp
36// Modified to use latest type
37//
38// Revision 1.1 1997/09/17 20:06:43 sjp
39// New class to separate filling from behaviour
40//
41
42// system include files
43#include <stdlib.h> // required for 'exit'
44
45// user include files
47
48// STL include files
49
50//
51// constants, enums and typedefs
52//
53
54//
55// static data member definitions
56//
57
58//
59// constructors and destructor
60//
61
62template< class Neutral >
63// class TruthWitnesses ,
64// class VisibleWitnesses >
66DCFillableNeutralList( bool ( * pFunction )( Neutral& ) ) :
67 DCNeutralVisibleList< Neutral , typename Neutral::CandidateClass >( pFunction )
68{
69}
70
71//template< class Neutral ,
72// class TruthWitnesses ,
73// class VisibleWitnesses >
74//DCFillableNeutralList< Neutral , TruthWitnesses , VisibleWitnesses >::
75//DCFillableNeutralList( const TruthWitnesses& aTruthList ,
76// bool ( * pFunction )( Neutral& ) ) :
77// DCNeutralVisibleList< Neutral , Neutral::CandidateClass >( pFunction )
78//{
79// fill( aTruthList ) ;
80//}
81
82//template< class Neutral ,
83// class TruthWitnesses ,
84// class VisibleWitnesses >
85//DCFillableNeutralList< Neutral , TruthWitnesses , VisibleWitnesses >::
86//DCFillableNeutralList( const VisibleWitnesses& aVisibleList ,
87// bool ( * pFunction )( Neutral& ) ) :
88// DCNeutralVisibleList< Neutral , Neutral::CandidateClass >( pFunction )
89//{
90// fill( aVisibleList ) ;
91//}
92
93template< class Neutral >
94// class TruthWitnesses ,
95// class VisibleWitnesses >
98 bool ( * pFunction )( Neutral& ) ) :
99 DCNeutralVisibleList< Neutral ,
100 typename Neutral::CandidateClass >( aOtherList ,
101 pFunction )
102{
103}
104
105template< class Neutral >
106// class TruthWitnesses ,
107// class VisibleWitnesses >
110 DCNeutralVisibleList< Neutral ,
111 typename Neutral::CandidateClass >( aFunctionalObject )
112{
113}
114
115//template< class Neutral ,
116// class TruthWitnesses ,
117// class VisibleWitnesses >
118//DCFillableNeutralList< Neutral , TruthWitnesses , VisibleWitnesses >::
119//DCFillableNeutralList( const TruthWitnesses& aTruthList ,
120// DCSelectionFunction< Neutral >& aFunctionalObject ) :
121// DCNeutralVisibleList< Neutral , Neutral::CandidateClass >( aFunctionalObject )
122//{
123// fill( aTruthList ) ;
124//}
125
126//template< class Neutral ,
127// class TruthWitnesses ,
128// class VisibleWitnesses >
129//DCFillableNeutralList< Neutral , TruthWitnesses , VisibleWitnesses >::
130//DCFillableNeutralList( const VisibleWitnesses& aVisibleList ,
131// DCSelectionFunction< Neutral >& aFunctionalObject ) :
132// DCNeutralVisibleList< Neutral , Neutral::CandidateClass >( aFunctionalObject )
133//{
134// fill( aVisibleList ) ;
135//}
136
137template< class Neutral >
138// class TruthWitnesses ,
139// class VisibleWitnesses >
142 DCSelectionFunction< Neutral >& aFunctionalObject ) :
143 DCNeutralVisibleList< Neutral ,
144 typename Neutral::CandidateClass >( aOtherList ,
145 aFunctionalObject )
146{
147}
148/*
149template< class Neutral >
150DCFillableNeutralList< Neutral >::
151DCFillableNeutralList( const vector<Neutral>& aVector )
152{
153 fill(aVector);
154}
155*/
156
157template< class Neutral >
158// class TruthWitnesses ,
159// class VisibleWitnesses >
162{
163}
164
165//
166// assignment operators
167//
168
169//template< class Neutral ,
170// class TruthWitnesses ,
171// class VisibleWitnesses >
172//const DCFillableNeutralList< Neutral , TruthWitnesses , VisibleWitnesses >& DCFillableNeutralList< Neutral , TruthWitnesses , VisibleWitnesses >::
173//operator=( const TruthWitnesses& aTruthList )
174//{
175// eraseContents() ;
176// fill( aTruthList ) ;
177// return ( *this ) ;
178//}
179
180//template< class Neutral >
181// class TruthWitnesses ,
182// class VisibleWitnesses >
183//const DCFillableNeutralList< Neutral, TruthWitnesses, VisibleWitnesses >& DCFillableNeutralList< Neutral , TruthWitnesses , VisibleWitnesses >::
184//operator=( const VisibleWitnesses& aVisibleList )
185//{
186// eraseContents() ;
187// fill( aVisibleList ) ;
188// return ( *this ) ;
189//}
190
191template< class Neutral >
192// class TruthWitnesses ,
193// class VisibleWitnesses >
196 const DCFillableNeutralList< Neutral >& aOtherList )
197{
198 DCNeutralVisibleList< Neutral ,
199 typename Neutral::CandidateClass >::operator=(
200 aOtherList ) ;
201 return ( *this ) ;
202}
203
204//
205// member functions
206//
207
208//template< class Neutral ,
209// class TruthWitnesses ,
210// class VisibleWitnesses >
211//void DCFillableNeutralList< Neutral , TruthWitnesses , VisibleWitnesses >::fill( const TruthWitnesses& aList )
212//{
213// TruthWitnesses::const_iterator finished ( aList.end() ) ;
214// for ( TruthWitnesses::const_iterator entry ( aList.begin() ) ;
215// entry != finished ;
216// ++entry ) {
217// Neutral* localCopy = new Neutral( *entry ) ;
218// insert_possible( localCopy ) ;
219// }
220//}
221
222//template< class Neutral ,
223// class TruthWitnesses ,
224// class VisibleWitnesses >
225//void DCFillableNeutralList< Neutral , TruthWitnesses , VisibleWitnesses >::fill( const VisibleWitnesses& aList )
226//{
227// VisibleWitnesses::const_iterator finished ( aList.end() ) ;
228// for ( VisibleWitnesses::const_iterator entry ( aList.begin() ) ;
229// entry != finished ;
230// ++entry ) {
231// Neutral* localCopy = new Neutral( *entry ) ;
232// insert_possible( localCopy ) ;
233// }
234//}
235
236template< class Neutral >
237void
239 const dchain::LabeledParticleList< Neutral ,
240 typename Neutral::CandidateClass >& aList )
241{
242 DCNeutralVisibleList< Neutral ,
243 typename Neutral::CandidateClass >::fill( aList ) ;
244}
245
246
247//
248// const member functions
249//
250
251//
252// static member functions
253//
254
255#endif /* DCHAIN_FILLABLENEUTRALLIST_CC */
void fill(NTuple::Array< double > &nt_p4, const HepLorentzVector &p4)
Definition: MyUtil.cxx:3
void fill(WitnessIterator first, WitnessIterator last)
const DCFillableNeutralList< Neutral > & operator=(const DCFillableNeutralList< Neutral > &aOtherList)
DCFillableNeutralList(bool(*pFunction)(Neutral &)=0)