SSO Logout

Subversion Repositories hepmc

Rev

Rev 104 | Rev 107 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
101 garren 1
 
104 garren 2
2007-06-29  Lynn Garren
3
 
105 garren 4
	* HepMC/GenEvent.h, src/GenEvent.cc: define beam process methods
5
	   bool valid_beam_particles() const;
6
	   std::pair<GenParticle*,GenParticle*> beam_particles() const;
7
	   bool set_beam_particles(GenParticle*, GenParticle*);
8
	   bool set_beam_particles(std::pair<GenParticle*,GenParticle*> const &);
9
 
10
	* fio/IO_HEPEVT.cc, fio/IO_HERWIG.cc: set incoming beam particles
11
 
104 garren 12
	* HepMC/PythiaWrapper*: remove old process struct
13
 
102 garren 14
2007-06-21  Lynn Garren
15
 
16
	* HepMC/GenEvent.h: add methods to set and access the number of
17
	  multi particle interactions in the event.
18
	  The default value of this number is -1.
103 garren 19
	* src/IO_ExtendedAscii.cc: read and write MPI information
102 garren 20
 
101 garren 21
2007-06-19  Lynn Garren
22
 
23
	* HepMC/GenParticle.h: use uint64_t for the serial number counter
24
 
97 garren 25
  --------------------------  HepMC-2.01.00  --------------------------
95 garren 26
 
27
2007-06-08  Lynn Garren
28
 
96 garren 29
	* HepMC/GenEvent.h, src/GenEvent.cc: add clear() method
30
 
95 garren 31
	* HepMC/GenParticleComparison.h:
32
	  define a GenParticle comparator
33
	* HepMC/GenParticle.h, src/GenParticle.cc:
34
	  set a serial number to be used by GenParticleComparison
35
	* HepMC/Flow.h, HepMC/GenVertex.h, src/Flow.cc, src/GenVertex.cc:
36
	  use std::set<GenParticle*,GenParticleComparison>
37
	* test: automatic comparison of output files is now possible
38
 
93 garren 39
  --------------------------  HepMC-2.00.04  --------------------------
79 garren 40
 
92 garren 41
2007-06-01  Lynn Garren
42
 
43
	* HepMC/GenEvent.h, src/GenEvent.cc: change interface such that
44
	  GenEvent makes its own copy of HeavyIon and PdfInfo
45
 
46
 
85 garren 47
2007-05-29  Lynn Garren
48
 
49
	* src/GenVertex.cc: initialize range in default constructor
87 garren 50
	* src/IO_Ascii*.cc: make sure every object is properly deleted
88 garren 51
	* test/testHepMCIteration.cc: add iterator test
85 garren 52
 
79 garren 53
  --------------------------  HepMC-2.00.03  --------------------------
54
 
78 garren 55
2007-04-23  Lynn Garren
56
 
57
	* bootstrap, configure.in, doc/Makefile.am:
58
	  To avoid problems with different versions of latex, just build
59
	  the documents during the bootstrap step.
60
	* doc/buildDoc.sh: builds the documents if doxygen and latex are present
61
 
77 garren 62
2007-04-20  Lynn Garren
63
 
64
        * HepMC/include/PythiaWrapper*.h:
65
          inline the method definitions to avoid conflicts
66
	* examples/initPythia.cc: put pythia intialization in a separate
67
	  file so we can test PythiaWrapper
68
 
71 garren 69
  --------------------------  HepMC-2.00.02  --------------------------
47 garren 70
 
73 garren 71
2007-02-12 Lynn Garren
72
 
73
	* test/testHepMC.sh.in: works on Windows (Cygwin), MacOSX, and Linux
74
 
71 garren 75
2007-02-07 Lynn Garren
76
 
77
	* doc/doxygen-template: provide an html template
78
 
67 garren 79
2007-01-30 Lynn Garren
80
 
69 garren 81
	* doc/doxygen.conf: use doxygen 1.5.1
82
 
83
2007-01-30 Lynn Garren
84
 
67 garren 85
	* examples/example_BuildEventFromScratch.cc: add example of
86
	  conversion from SimpleVector to HepLorentzVector
87
	* examples/VectorConversion.h: VectorConversion.h is meant as a
88
	  template for user code converting to the vector of your choice.
89
 
65 garren 90
2007-01-29 Lynn Garren
91
 
92
	* fix everything so doxygen will create a useful reference manual
93
	  nearly every file has been touched, but only the comments changed
94
 
95
 
61 garren 96
2007-01-25 Lynn Garren
97
 
67 garren 98
	* examples/example_MyPythiaRead.cc: read in the events you just wrote
99
	* examples/*.cc: put all uses of IO_Ascii within an explicit scope
62 garren 100
 
61 garren 101
	* configure.in, doc/Makefile.am: if latex is found, get the path
102
 
103
	* test/testHepMC.sh.in: make the diff work for MacOSX
104
 
58 garren 105
	--------------------  HepMC-02-00-01  ---------------------------------
106
 
55 garren 107
2007-01-17 Lynn Garren
108
 
109
	* test/testSimpleVector.cc: exercise the vector methods
110
 
54 garren 111
2007-01-16 Lynn Garren
112
 
113
	* HepMC/SimpleVector.icc: implement ThreeVector::set(x,y,z)
114
 
52 garren 115
2006-08-23 Lynn Garren
116
 
53 garren 117
	* install examples in $(prefix)/examples/HepMC
118
 
119
	* check for latex and build documents if latex is present
52 garren 120
 
49 garren 121
	--------------------  HepMC-02-00-00  ---------------------------------
122
 
48 garren 123
2006-08-22 Lynn Garren
124
 
49 garren 125
	* src/IO_ExtendedAscii.cc: read and write generated mass as part of
48 garren 126
	  particle line.
127
 
47 garren 128
2006-08-18 Lynn Garren
129
 
130
	* doc/HepMC2_user_manual.tex documentation for HepMC 2
131
 
43 garren 132
2006-08-01 Lynn Garren
19 garren 133
 
43 garren 134
	* HepMC/is_arithmetic.h, HepMC/enable_if.h supplied by Walter Brown
135
	  for a clean template constructor implementation.
136
 
137
2006-07-23 Lynn Garren
138
 
139
	* HepMC/SimpleVector.h: add a templated constructor for both FourVector
140
          and ThreeVector that will take any lorentz vector which has the
141
          x(), y(), z(), and t() methods.  This should enable existing code
142
          that uses CLHEP Vector classes to keep working.
143
 
144
2006-07-19 Lynn Garren
145
 
146
	* replace CLHEP/Vector/LorentzVector.h and CLHEP/Vector/ThreeVector.h
147
	  with HepMC/SimpleVector.h
148
	  implement some of the basic vector properties so user code won't break
149
 
150
 
39 garren 151
	--------------------  HepMC-01-28-00  ---------------------------------
152
 
40 garren 153
2006-08-08 Lynn Garren
154
 
155
	* HepMC/IO_ExtendedAscii.h: Extended format writes PdfInfo and HeavyIon
156
	  if they are present in the event.  This is otherwise identical
157
	  to IO_Ascii.h.
158
 
37 garren 159
2006-07-30 Lynn Garren
160
 
40 garren 161
	* HepMC/HEPEVT_Wrapper.h: fix for 64bit machines
37 garren 162
 
36 garren 163
2006-07-26 Lynn Garren
164
 
165
	* HepMC/PdfInfo.h implements information requested by CMS
166
	* GenEvent.h, GenEvent.cc make sure m_pdf_info is initialized to 0
167
 
30 garren 168
	--------------------  HepMC-01-27-02  ---------------------------------
169
 
34 garren 170
2006-06-19 Lynn Garren
171
 
172
	* fix test for Windows
173
	* add ReadMe.cygwin-VC71 and setup.cygwin-VC71
174
 
175
 
26 garren 176
2006-06-14 Lynn Garren
177
 
178
	* GenEvent.cc, GenParticle.cc,  GenVertex.cc use standard C++ output
179
	* testPrintBug new test for output problems with gcc 4.x
29 garren 180
	* HepMC/HepMC_CLHEP20.h defines several typedefs needed when compiling
181
	   with CLHEP 2.0.x
182
	* HEPEVT_Wrapper.h, HerwigWrapper6_4.h, PythiaWrapper6_2.h
183
	   need extern "C" statements for gcc 4.x
184
	* HepMC_CLHEP20.h, Polarization.h, GenVertex.h, GenParticle.h
185
	   HepMC will work with both CLHEP 1.9.x and 2.0.x
26 garren 186
 
29 garren 187
 
23 garren 188
	--------------------  HepMC-01-27-01  ---------------------------------
189
 
22 garren 190
2006-03-31 Lynn Garren
191
 
192
	* GenEvent.h, GenEvent.cc make sure m_heavy_ion is initialized to 0
193
 
194
 
21 garren 195
2006-03-29 Lynn Garren
196
 
197
	* HepMC/ParticleData.h remove dependency on CLHEP/Units by HepMC_hbarc
198
	* HepMC/Polarization.h remove dependency on CLHEP/Units by HepMC_pi
199
 
19 garren 200
	--------------------  HepMC-01-27-00  ---------------------------------
201
 
202
2006-03-07 Lynn Garren
203
 
204
	* add simple check in the test subdirectory
205
 
15 garren 206
2006-02-17 Lynn Garren
207
 
208
	* HepMC/HeavyIon.h names have been changed to match both HepMC and
209
	wishes of heavy ion users
210
 
11 garren 211
2006-01-12 Lynn Garren
212
 
213
	HepPDT 1.26 is available at https://savannah.cern.ch/projects/hepmc/
214
 
215
	* HepMC/HeavyIon.h implements information requested by CMS
216
	* HepMC/GenParticle.h has pointer (null by default) to HeavyIon
217
	* code providing interfaces to Fortran common blocks has been moved
218
	out of libHepMC and into libHepMCfio
219
 
220
	--------------------  HepMC-01-02-26  ---------------------------------
221
 
2 garren 222
	--------------------  HepMC-01-02-21  ---------------------------------
223
 
224
2005-04-27 Matt Dobbs and Giorgos
225
	* src/IO_HERWIG.cxx implemented a bug fix suggested by borut,
226
	which keeps the remapping of daughters/motherrs from going "over
227
	the end" on herwig events (was noticed in the tauola events for
228
	rome DC).
229
 
230
2004-08-04  David Quarrie  <David.Quarrie@cern.ch>
231
 
232
	* cmt/requirements: Change dependencies on CERNLIB and CLHEP
233
        to AtlasCERNLIB and AtlasCLHEP to avoid name clashes
234
 
235
 
236
	--------------------  HepMC-01-02-19  ----(gcc 3.2 compatible)---------
237
 
238
 
239
2004-04-22  Matt Dobbs  <Matt.Dobbs@Cern.CH>
240
 
241
	* src/IO_HERWIG.cxx (HepMC): fixed bug reported by Hinchliffe in
242
	IO_HERWIG wherein (for the special case of min bias events only)
243
	number of entries in HEPEVT was being zero-ed by the IO_HERWIG
244
	class. Added extra protection in HEPEVT_Wrapper for this as well.
245
 
246
 
247
	--------------------  HepMC-01-02-18  ----(gcc 3.2 compatible)---------
248
 
249
2004-03-27  Matt Dobbs  <Matt.Dobbs@Cern.CH>
250
 
251
        Removed the #define statements that allow backwards compatibility
252
	with gcc 2.95, and specialized the 3.2 compliant iterators to be
253
	forward iterators such that they work properly with std
254
	algorithms.
255
 
256
	Thanks to Ulrik Egede for pointing this out.
257
 
258
	* HepMC/GenVertex.h, .cxx HepMC/GenEvent.h, .cxx: changed
259
	std::forward_iterator<GenParticle*,ptrdiff_t>
260
	to
261
	std::iterator<std::forward_iterator_tag,GenParticle*,ptrdiff_t>
262
	for standard
263
	compliance, and removed #define statements.
264
 
265
	* HepMC/IO_Ascii.h,.cxx: changed open_mode to openmode for standard
266
	compliance, and removed #define statements.
267
 
268
 
269
2003-12-17  David Rousseau  <droussea@lxplus072.cern.ch>
270
 
271
	* cmt/requirements: remove HepMC_libraries
272
 
273
2003-10-22  Matt Dobbs  <Matt.Dobbs@Cern.CH>
274
 
275
	* src/GenEvent.cxx and lots of other files + latex documentation.
276
	REmoved any mention of units--- GeV, MeV etc, since HepMC merely
277
	accepts whatever is put in. I do this because, though HEPEVT has
278
	used GeV/mm, ATLAS plans to use CLHEP units of MeV/mm.
279
 
280
2003-10-15  Matt Dobbs  <Matt.Dobbs@Cern.CH>
281
 
282
	* src/GenParticle.cxx (HepMC): added a default constructor for
283
	GenParticle as requested by Giorgos S.
284
 
285
	--------------------  HepMC-01-02-14  ----(gcc 3.2 compatible)---------
286
 
287
2003-04-21  Matt Dobbs  <Matt.Dobbs@Cern.CH>
288
 
289
	* src/IO_HERWIG.cxx:
290
	minor changes to handling of herwig event record
291
 
292
	--------------------  HepMC-01-02-11  ----(gcc 3.2 compatible)---------
293
 
294
2003-03-10  Matt Dobbs  <Matt.Dobbs@Cern.CH>
295
 
296
	* HepMC/IO_BaseClass.h:
297
	Fixed bug reported by Peter Loch, wherein the virtual destructor
298
	for IO_BaseClass was missing.
299
 
300
	--------------------  HepMC-01-02-10  ----(gcc 3.2 compatible)---------
301
 
302
2003-03-03  Matt Dobbs  <Matt.Dobbs@Cern.CH>
303
 
304
	* HepMC/GenVertex.h: added extra ifdef statement to allow
305
	compilation on gcc 3.2. (forward_iterator and open_mode problems).
306
	* HepMC/IO_Ascii.h: as above.
307
	* src/IO_Ascii.cxx (HepMC): as above.
308
 
309
2003-01-17  Matt Dobbs  <Matt.Dobbs@Cern.CH>
310
 
311
	* src/IO_PDG_ParticleDataTable.cxx (HepMC): if the PDG table does
312
	not exist, we abort, rather than just returning false.
313
 
314
	--------------------  HepMC-01-02-04  ----(5.0.0)------------
315
2002-11-04  Matt Dobbs  <Matt.Dobbs@Cern.CH>
316
 
317
	* src/GenEvent.cxx (HepMC): set_barcode(particle, barcode),
318
	set_barcode(vertex, barcode) Fixed a bug reported by Giorgos S.
319
	For this bug, a user suggests a barcode for a vertex that is
320
	already part of an event... the vertex is inserted in the vertex
321
	map with the new barcode, but HepMC forgets to erase the old
322
	entry... such that the vertex now appears twice in the map.  This
323
	is fixed, and the corresponding error for particles is also fixed.
324
 
325
2002-10-31  Matt Dobbs  <Matt.Dobbs@Cern.CH>
326
 
327
	* HepMC/IO_HERWIG.h: modified IO_HERWIG to include a switch
328
	(default m_no_gaps_in_barcodes=on) which removes null entries from
329
	Herwig HEPEVT and reshuffles the common block
330
 
331
2002-10-22  Matt Dobbs  <Matt.Dobbs@Cern.CH>
332
 
333
	* HepMC/HerwigWrapper6_4.h, HepMC/HerwigWrapper.h: new interface
334
	to HERWIG Version 6.4 is added. There is an example for using it
335
	at examples/example_MyHerwig.cxx. To use this example you will
336
	have to download HERWIG version 6.4 and modify the Makefile to
337
	link it.
338
 
339
	* HepMC/IO_HERWIG.h: New class for reading the Herwig version of
340
	the HEPEVT common block is added. READ THE COMMENTS IN THE .h file
341
	carefully before using it!
342
 
343
 
344
2002-07-29  Matt Dobbs  <Matt.Dobbs@Cern.CH>
345
	--------------------  HepMC-01-02-03  ----(4.0.2)------------
346
 
347
	* src/GenVertex.cxx (HepMC): remove_particle()
348
	* HepMC/GenVertex.h:
349
	removed confusing comment about the use of GenVertex::remove_particle()
350
	in .h file, and clarified the comment in .cxx file.
351
 
352
	* src/GenEvent.cxx (HepMC): operator=
353
	bug discovered by <Malte.Muller@cern.ch>.
354
	Formerly, the GenEvent::operator= method relied on the particles
355
	attached to each vertex to always be in the same order. However,
356
	since the particles are stored in set<>, this is not always true
357
	-- making the results of the operator= method unreliable.
358
	This is fixed by mapping the vertices explicitly.
359
 
360
	* src/IO_PDG_ParticleDataTable.cxx (HepMC):
361
	added a line in read_entry that ignores empty lines (previously
362
	empty lines in the pdg data table generated a cerr message).
363
	This change was requested by Davida Costanzo.
364
 
365
 
366
2002-03-02  Matt Dobbs  <Matt.Dobbs@Cern.CH>
367
	--------------------  HepMC-01-02-02  ----(3.0.1)------------
368
 
369
	* src/GenVertex.cxx (HepMC):
370
	GenVertex::edge_iterator::edge_iterator( .. )
371
	Extra error protection added in the constructor.
372
	Sometimes the edge_iterator fails when we have a vertex with no
373
	in_particles. This never happens in standalone mode, but when ran
374
	with the ATLAS framework, it does happen. New code identifies the
375
	scenario explicitly, and catches the error, which has to do with
376
	the past-the-end value of the edge_iterator.
377
 
378
	* test/test_iterators.cxx: new test program added for iterators,
379
	to test for the above problems.
380
 
381
 
382
2002-02-19  Matt Dobbs  <Matt.Dobbs@Cern.CH>
383
 
384
        CHANGES TO ALLOW HEPMC TO COMPILE WITH SOLARIS CC 5.2
385
 
386
	* cmt/requirements: added the line
387
	macro_append cppflags "" Solaris      " -D__SUNPRO_CC "
388
	to handle Solaris CC 5.2 features.
389
 
390
	* HepMC/ParticleDataTable.h:
391
	turns on MISSING_FORWARD_ITERATOR when __SUNPRO_CC is defined.
392
	This defines forward_iterator as iterator
393
 
394
	* HepMC/GenVertex.h:
395
	same as ParticleDataTable.h, but also turns on
396
	NEED_SOLARIS_FRIEND_FEATURE when __SUNPRO_CC is defined.
397
 
398
	* src/Polarization.cxx (HepMC):
399
	replaced abs() with theta = ( theta>0 ? theta : -theta );
400
	for compatibility with Solaris.
401
 
402
2002-02-15  Matt Dobbs  <Matt.Dobbs@Cern.CH>
403
	--------------------  HepMC-01-02-01  ----(3.0.0)------------
404
 
405
	* HepMC/GenEvent.h: bug discovered by <srinir@bnl.gov> with help
406
	from Paolo and Hong.
407
	The GenEvent::particle_iterator, const_particle_iterator,
408
	              vertex_iterator, const_vertex_iterator
409
	had methods like:
410
	  bool operator !=(const particle_iterator& a) const
411
	  {  return !(**this == *a); }
412
	which doesn't work because you are not allowed to de-reference
413
	the end() iterator  [the above coding is a relic of the old
414
	              walking iterators which did not inherit from
415
	              forward_iterstor, and for which *end() was well
416
	              defined.]
417
	The correct usage is:
418
	{ return m_map_iterator == a.m_map_iterator; }
419
 
420
	Note: this does NOT affect the GenVertex::***_iterator's, since
421
	for those iterators *end() is well defined.
422
 
423
 
424
2002-01-23  Matt Dobbs  <Matt.Dobbs@Cern.CH>
425
	--------------------  HepMC-01-02-00  --------------------
426
	                  ( Public Version 1.2 )
427
 
428
	User manual, webpage, and public version updated.
429
 
430
	The CLHEP names branch, called HepMC-00-00-96-CLHEP, has
431
	been moved to the head of the main trunk in cvs, and commited.
432
	Thus the main trunk is the only development branch.
433
 
434
 
435
2002-01-22  Matt Dobbs  <Matt.Dobbs@Cern.CH>
436
	--------------------  HepMC-01-01-12  --------------------
437
 
438
	* src/GenEvent.cxx (HepMC): delete_all_vertices()
439
	modified the increment of the vertex iterator when looping over
440
	vertices for deletion.
441
	* src/GenVertex.cxx (HepMC): delete_adopted_particles()
442
	modified the increment of the particle iterator when looping over
443
	particles for deletion.
444
 
445
2002-01-21  Matt Dobbs  <Matt.Dobbs@Cern.CH>
446
	--------------------  HepMC-01-01-07  --------------------
447
 
448
	* HepMC/GenEvent.cxx (delete_all_vertices):
449
	Possible bug reported here by ATLfast group. Added extra error
450
	checking, and changed the deleting of the vertices such that each
451
	one is explicitly erased from the map.
452
 
453
 
454
2002-01-18  Matt Dobbs  <Matt.Dobbs@Cern.CH>
455
 
456
  More changes for Windoes MS Visual C++ compatibility:
457
 
458
	* HepMC/PythiaWrapper6_2.h, HepMC/PythiaWrapper6_152.h:
459
	included new wrapper methods like call_pyinit, which hide the
460
	funny syntax necessary to call fortran routines from C++.
461
	* examples/example_MyPythiaWithEventSelection.cxx:
462
	* examples/example_MyPythiaOnlyToHepMC.cxx:
463
	* examples/example_MyPythia.cxx:
464
	* examples/Benchmarks_f77/example_PythiaToLCWrite.cxx:
465
	modified to use the call_*** pythia methods.
466
 
467
 
468
2002-01-15  Matt Dobbs  <Matt.Dobbs@Cern.CH>
469
	--------------------  HepMC-01-01-06  --------------------
470
 
471
	* Makefile.standalone: updated to use cernlib 2001 and pythia6152
472
 
473
	* examples/example_UsingIterators.cxx:
474
	The input file was from the old non-barcodes version, and so
475
	didn't work. Replaced it with a proper input file.
476
 
477
 
478
These changes suggested by Witold Pokorski <Witold.Pokorski@Cern.Ch> from
479
LHCb to allow for Windows Visual C++ compliance. All of these changes are
480
fully backwards compatible(!).
481
 
482
	* HepMC/GenEvent.h, HepMC/GenVertex.h: change forward_iterator to
483
	simply iterator (which in the STL standard apparently implies
484
	forward_iterator)
485
 
486
	In Visual c++, a for (int i ... ) {} statement does not scope out
487
	the i variable ... so had to modify the code to ensure no
488
	variables were used twice in the same method:
489
	* src/IO_Ascii.cxx (HepMC):
490
	  in lines 155, 161, 175 "int i" is repeated
491
	  in lines 293, 314, 321 "int i" is repeated
492
          in lines 293, 314, 321 "p" is repeated
493
	* src/IO_HEPEVT.cxx (HepMC):
494
	  in lines 59,65,88 "i" is repeated
495
          in lines 118, 129 "p" is repeated
496
	* src/IO_PDG_ParticleDataTable.cxx (HepMC):
497
	  in lines 80, 103, 124 "id_i" is repeated
498
	* src/GenVertex.cxx (HepMC):
499
	  in lines: 64 and 72; 168 and 178; 195 and 201; 260 and 273;
500
	            322 and 331   variable "part" is repeated
501
 
502
	* have verified all STL calls for set, map, less, greater, cout,
503
	endl, list, cerr, ios, iostream, flush are properly prefixed with
504
	std::
505
 
506
	* HepMC/GenEvent.h: bug fix:
507
	added a std::greater<int> qualifier to the m_map_iterator of the
508
	vertex iterators.
509
 
510
	* HepMC/GenVertex.h: bug fix:
511
	made the GenVertex::particle_iterator a friend of GenVertex.
512
 
513
	* HepMC/GenEvent.h, HepMC/GenVertex.h:
514
	move all of the friend class declarations
515
	into statements separate from the class declaration, i.e.
516
	  class edge_iterator { ... };
517
	  friend class edge_iterator;
518
	instead of
519
	  friend class edge_iterator{ ... };
520
	Change all   std::ptrdiff_t   to  ptrdiff_t
521
 
522
	* HepMC/IO_Ascii.h: ios::openmode changed to ios::open_mode in the
523
	constructor, for compatibility with windows Visual C++.
524
 
525
	* Change #include <iostream.h> to #include <iostream>
526
	Note: this will spoil compatibility with HPUX 10.2 CC.
527
 
528
 
529
2001-11-29  Matt Dobbs  <Matt.Dobbs@Cern.CH>
530
	--------------------  HepMC-01-01-05  --------------------
531
	* Fix typo in user manual "particle barcodes are positive"
532
 
533
 
534
2001-11  Matt Dobbs  <Matt.Dobbs@Cern.CH>
535
	--------------------  HepMC-01-01-04  --------------------
536
	* update user manual to explain barcodes. NO changes to code.
537
 
538
 
539
2001-11-10  Matt Dobbs  <Matt.Dobbs@Cern.CH>
540
	--------------------  HepMC-01-01-03  --------------------
541
	* cmt/requirements: jetset74 requirement removed, as requested by
542
	I.Hinchliffe.
543
 
544
2001-11-04  Matt Dobbs  <Matt.Dobbs@Cern.CH>
545
	--------------------  HepMC-01-01-02  --------------------
546
	* HepMC/GenVertex.h: removed merge_vertex() method.
547
 
548
	* HepMC/IO_HEPEVT.h:
549
	removed the merge_vertices possibility, but added a
550
	build_production_vertex possibility to build_end_vertex.
551
 
552
	--------------------  HepMC-01-01-01  --------------------
553
	* src/HEPEVT_Wrapper.cxx (HepMC):
554
	new method check_hepevt_consistency() added.
555
	new method zero_everything() added.
556
 
557
2001-11-02  Matt Dobbs  <Matt.Dobbs@Cern.CH>
558
 
559
	--------------------  HepMC-01-01-00  --------------------
560
	* src/IO_HEPEVT.cxx (HepMC):
561
	Modified such that the HEPEVT indices are used for the particle
562
	barcodes.
563
	* HepMC/IO_Ascii.h:
564
	Modifed to properly read/write the barcodes and the
565
	GenEvent new data members.
566
 
567
        Unique reference numbers called "barcodes" are added as data
568
	members to GenParticles and GenVertices.
569
	They are cross-referenced in GenEvent via a map<int,GenXXX>.
570
	The GenEvent::m_vertices container of vertices is then no longer
571
	necessary, so it is removed.
572
	The GenEvent::particle_iterator and GenEvent::vertex_iterator
573
	are updated to walk over the maps. The iterator change should be
574
	transparent to the user.
575
	Constant versions of both iterators are included.
576
	The old GenEvent::vertex_iterator was a typedef of the set:
577
	  typedef std::set<GenVertex*>::iterator vertex_iterator;
578
 
579
	The maps get filled via the:
580
		set_barcode( GenXXX* x, int suggested_barcode )
581
	methods, which in turn are called only by the vertex and particle:
582
	GenVertex::set_parent_event_()
583
	GenPartcle::set_production_vertex_()
584
	GenPartcle::set_end_vertex_(}
585
 
586
	* HepMC/GenEvent.h:
587
	New data members and access methods are added for consistency with
588
	the HepUP standard, see hep-ph/0109068
589
	double GenEvent::m_event_scale
590
	double GenEvent::m_alphaQCD
591
	double GenEvent::m_alphaQED
592
 
593
	* src/IO_HEPEVT.cxx (HepMC): Fixed some const warnings with the
594
	 GenEvent::vertex_iterator usage.
595
 
596
2001-10-11  Matt Dobbs  <Matt.Dobbs@Cern.CH>
597
 
598
	--------------------  HepMC-01-00-01  --------------------
599
	* cmt/requirements: changed use CERNLIB v2001 External  to  use
600
	CERNLIB CERNLIB-01-* External   as per r.d.'s request
601
 
602
2001-10-10  Matt Dobbs  <Matt.Dobbs@Cern.CH>
603
 
604
        --------------------  HepMC-01-00-00  --------------------
605
	Identical to HepMC-00-03-08.  This tag name follows atlas
606
	naming conventions ... increment the major tag when code is NOT
607
        backwards compatible. Since Atlas is moving from tag
608
	HepMC-00-01-12 (old atlas names) to HepMC-00-03-08 (clhep names)
609
	this change is not backwards compatible.
610
 
611
2001-09-05  Matt Dobbs  <Matt.Dobbs@Cern.CH>
612
        ------- below this line is tag HepMC-00-03-08 ----------
613
	(clhep names version to be used in atlas. The changes have not
614
	been made in the HepMC-00-01-** branch)
615
 
616
	* src/IO_HEPEVT.h (HepMC):
617
	* src/IO_HEPEVT.cxx (HepMC): When inconsistent info between
618
	mother and daughters is found in the
619
	IO_HEPEVT::build_production_vertex method, IO_HEPEVT will no
620
	longer merge_vertex (the 2001-03-29 "fix") by default. In order to
621
	get this behaviour you have to explicitly ask for it with the
622
	IO_HEPEVT::set_merge_vertex_switch() method.
623
 
624
2001-09-05  Matt Dobbs  <Matt.Dobbs@Cern.CH>
625
	* cmt/requirements: added to the CLHEP names branch (its just a
626
	direct copy of what is in the trunk ATLAS names).
627
 
628
 
629
2001-07-17  Matt Dobbs  <Matt.Dobbs@Cern.CH>
630
	(note: HepMC-00-01-24 is an accidental tag which should be ignored)
631
	----- below this line is  HepMC-00-01-23, HepMC-00-03-07 -----
632
 
633
	* src/GenVertex.cxx (HepMC):
634
	GenVertex::vertex_iterator::follow_edge_()  added extra error
635
	checking for the very special-rare case where a particle might
636
	point to the same vertex for both production and end.
637
	Meant to handle Ian H.'s bug of 02 Jul 2001
638
 
639
2001-06-28  Matt Dobbs  <Matt.Dobbs@Cern.CH>
640
        --------------------  HepMC-00-03-06  --------------------
641
 
642
	* examples/GNUmakefile.in:
643
	updated the makefile to link to  cernlib 2001 version of pythia.
644
	This involves a change -lpythia6136 to -lpythia6152 -lpythiad
645
	Note that for xample_MyPythiaWithEventSelection.cxx 1/100 or
646
	36/1000 events pass cuts (with 6.136 it was 3/100 or 37/1000).
647
 
648
	* HepMC/GenParticle.h: now has a parent_event() access method,
649
	which returns the parent_event of the particle's container
650
	vertex's event.
651
 
652
2001-06-27  Matt Dobbs  <Matt.Dobbs@Cern.CH>
653
 
654
	---> Make the Vertex know which event it in in. <---
655
	* HepMC/GenVertex.h: added private data member m_event, public
656
	access method parent_event() and protected access method
657
	set_parent_event, which is only to be used by GenEvent. Thus
658
	GenEvent is made to be a friend of GenVertex.
659
	* HepMC/GenEvent.h, src/GenEvent.cxx (HepMC): added logic to
660
	GenEvent::remove_vertex and GenEvent::add_vertex. The vtx's
661
	m_event pointer is set to point back to the event.
662
 
663
	* HepMC/ParticleData.h:
664
	* HepMC/GenEvent.h:
665
	* HepMC/GenParticle.h:
666
	* HepMC/GenVertex.h: made method counter() protected. It was never
667
	intended as public, merely as a method for detecting memory
668
	leaks. If no-one complains (they shouldn't, it was commented
669
	"temporary for debugging") I'll remove it entirely later.
670
 
671
2001-03-29  Matt Dobbs  <Matt.Dobbs@Cern.CH>
672
 
673
	* src/IO_HEPEVT.cxx (HepMC):
674
	When m_trust_mothers_before_daughters=0, the vertex position is
675
	now filled. In ISAJET sometimes disjoint vertex structures exist,
676
	in this case a merger of vertices is done, which accounts for it.
677
 
678
	* HepMC/GenVertex.h:
679
	* src/GenVertex.cxx (HepMC):
680
	Added a            void merge_vertex_contents( GenVertex* v_in );
681
	method which takes all the contents of v_in and places it in
682
	the vertex. It does not delete v_in, nor does it remove
683
	v_in from an event.
684
	It will mainly be used by IO_HEPEVT, but it is forseen that users
685
	may want to use it when reducing the overall size of the event
686
	(deleting intermediate vertices) such as will be done by atlas.
687
 
688
2001-02-28  Matt Dobbs  <Matt.Dobbs@Cern.CH>
689
 
690
	* Makefile.standalone:
691
	using
692
	  HepMCdir = $(shell pwd)
693
	instead of
694
	  HepMCdir = /afs/cern.ch/user/m/mdobbs/HepMC/myCheckoutV1.01
695
	for better portability.
696
 
697
	* src/GenVertex.cxx (HepMC): added extra protection to the
698
	GenVertex::edge_iterator::edge_iterator constructor to give
699
	sensible result for the special case when a vertex has incoming
700
	particles, but none outgoing and the user requests a children
701
	iterator.  The old version would have
702
	m_set_iter points to m_particles_in.begin() and so the first
703
	dereference might be wrong.
704
 
705
	* HepMC/IO_HEPEVT.h: Two new switches are added to give more
706
	flexibility in handling the possible inconsistencies arrising
707
	from the bi-directional pointers in HEPEVT. The switches are:
708
		bool m_trust_mothers_before_daughters;
709
		bool m_print_inconsistency_errors;
710
	which are described by comments in the code. Also makes minor
711
	changes to src/IO_HEPEVT.cxx
712
 
713
	* HepMC/Typedef_Version0names.h:
714
	This header file added. It contains typedef statements which
715
	should allow the new version 1.XX class names to be used with code
716
	written with the old version 0.XX class names.
717
	If the user wants to take advantage of these typedefs he needs to
718
	define type variable HEPMC_SHORT_NAMES in his compiler options as
719
	follows: -DHEPMC_SHORT_NAMES
720
	or in his code using #define HEPMC_SHORT_NAMES
721
	Note that since the header file names also changed, this ALSO
722
	requires changing the include statements in the user code.
723
 
724
	* doc/latex_user_manual/physicist_visualization.eps
725
	fixed a mis-labelling in this figure... the labels were all
726
	shifted and intermingled... its now right. Unfortunately
727
	the mislabelled version appears in the CPC publication.
728
	also affects doc/latex_user_manual/HepMC_user_manual.ps
729
 
730
******************************************************
731
Everything below this line corresponds to Version 1.01
732
******************************************************
733
 
734
2001-01-11  Matt Dobbs  <Matt.Dobbs@Cern.CH>
735
 
736
	* examples/example_UsingIterators.cxx:
737
	Changed the class IsFinalState such that a particle must have no
738
	end vertex AND have status==1 to be considered stable.
739
	Does not effect package, only this specific example.
740
 
741
	* HepMC/IO_BaseClass.h:
742
	Bug reported by Lynn Garren
743
	"There appears to be a problem with const-ness in HepMC/IO_BaseClass.h.
744
	I have made the following changes in order to compile HepMC 1.0
745
	with g++.
746
	virtual const GenEvent*& operator<<( GenEvent*& );
747
		becomes
748
	virtual       GenEvent*& operator<<( GenEvent*& );
749
 
750
	virtual const ParticleDataTable*& operator<<( ParticleDataTable*& )
751
	        becomes
752
	virtual       ParticleDataTable*& operator<<( ParticleDataTable*& )
753
	In other words, I have made the const-ness match."
754
	...
755
	These changes are implemented by Matt in the atlas repository.
756
 
757
	* HepMC/HEPEVT_Wrapper.h:
758
	Bug reported by Andreas Dell'Acqua
759
		HEPEVT_Wrapper::last_child
760
		HEPEVT_Wrapper::last_parent
761
	There methods were returning 0 when exactly one parent exists. This
762
	caused the number_children and number_parent methods to return 0
763
	every time there was exactly 1 parent/child. This error caused
764
	major problems in the IO_HEPEVT class, with the end result that
765
	the HEPEVT graphs were interpretted incorrectly [all particles are
766
	correctly interpretted, but their relationships are incorrect for
767
	the case where a particle has exactly ONE mother: in this case the
768
	particles appeared as orphans.]
769
	This bug was
770
	introduced in version HepMC-00-00-94, so it has been present for
771
	some time. This fix is for HEPEVT_Wrapper::last_child():
772
	// Returns the Index of the LAST child in the HEPEVT record
773
	// for particle with Index index.
774
	// If there is only one child, the last child is forced to
775
	// be the same as the first child.
776
	// If there are no children for this particle, both the first_child
777
	// and the last_child with return 0.
778
	// Error checking is done to ensure the child is always
779
	// within range ( 0 <= parent <= nhep )
780
 
781
	* src/IO_HEPEVT.cxx (HepMC):
782
	only comments in IO_HEPEVT::build_particle have changed. No change
783
	to code.
784
 
785
******************************************************
786
Everything below this line corresponds to Version 1.0
787
******************************************************
788
 
789
2000-11-10  Matt Dobbs  <Matt.Dobbs@Cern.CH>
790
 
791
	MAJOR NAME CHANGES AFFECT ALMOST ALL FILES:
792
	GeneratorEvent --> GenEvent
793
	Particle       --> GenParticle
794
	Vertex         --> GenVertex
795
 
796
	user manual and online documentaion are updated to reflect this.
797
 
798
	* HepMC/PythiaWrapper6_152.h:
799
	A new wrapper for Pythia 6.1 is created to replace the old Pythia
800
	5.7 wrapper. It works with the versions of Pythia in both
801
	CERNlib2000 and CERNlib2001 (versions 6.136 and 6.152 and probably
802
	any Pythia 6).
803
	A pointer file:
804
	* HepMC/PythiaWrapper.h:
805
	is created so the used doesn't have to worry about pythia version
806
	numbers. A test file is located at:
807
	* test/test_PythiaWrapper.cxx
808
 
809
	All examples are updated to use Pythia 6.
810
 
811
 
812
2000-11-09  Matt Dobbs  <Matt.Dobbs@Cern.CH>
813
 
814
	* HepMC/WeightContainer.h:
815
	Created this class to house the weights in the vertex and event
816
	classes. It is just an interface to std::vertex<double>.
817
 
818
	The vertex class is modifid to use this. Required changes to:
819
	* HepMC/Vertex.h:
820
	* src/Vertex.cxx:
821
	* src/IO_Ascii.cxx (HepMC):
822
 
823
******************************************************
824
Everything below this line corresponds to Version 0.94
825
******************************************************
826
 
827
 
828
2000-07-05  Matt Dobbs  <Matthew.Adam.Dobbs@Cern.CH>
829
 
830
	* HepMC/HEPEVT_Wrapper.h: Completely new wrapper for HEPEVT_Common
831
	is implemented. This wrapper treats the common as a series of
832
	bytes and interprets them "on the fly". The user can set the size
833
	(in bytes) of the integer and real numbers to be interpretted from
834
	HEPEVT, and also the total number of entries in HEPEVT. This
835
	allows the user to interface to two applications which use
836
	different HEPEVT definitions.
837
	Benchmarks: 1000 events pythia only 34 seconds.
838
	            1000 events Pythia+HepMC(using this new wrapper) 40s
839
        on my particular machine. (extra time is 6 seconds.) Compare this
840
	to the extra 5 seconds reported in the HepMC user manual for the
841
	old HEPEVT wrapper ... so the difference is small compared to the
842
	old wrapper considering the added functionality.
843
	(all examples have been tested and they Run!)
844
 
845
	* HepMC/HEPEVT_Common.h: Deleted, this common is now defined
846
	inside HEPEVT_Wrapper.h
847
 
848
	* src/HEPEVT_Wrapper.cxx (HepMC): This file is created since it is
849
	necessary to instantiate the static members of HEPEVT_Wrapper in a
850
	.cxx file.
851
 
852
	* Makefile.Standalone: modified to build src/HEPEVT_Wrapper.cxx into
853
	the HepMC library
854
 
855
	* HepMC/IO_HEPEVT.h: Comment modified only so as to treat
856
	HEPEVT_Wrapper consistently.
857
 
858
	* examples/example_MyPythiaWithEventSelection.cxx: Modified to use new
859
	HEPEVT_Wrapper
860
 
861
	* examples/example_MyPythia.cxx: Modified to use new
862
	HEPEVT_Wrapper
863
 
864
	* examples/example_MyPythiaOnlyToHepMC.cxx (main): Modified to use new
865
	HEPEVT_Wrapper
866
 
867
	* PACKAGE: added linkset HepMC -lib:HepMC
868
	(Modified GNUmakefile.in to use libHepMC.so as HepMC linkset)
869
 
870
2000-07-04  Matt Dobbs  <Matthew.Adam.Dobbs@Cern.CH>
871
 
872
	* examples/GNUmakefile.in: $(top_srcdir) replaced by
873
	$(srcdir)
874
 
875
	* GNUmakefile.in (libHepMC.so_SRC): The location of src .cxx files
876
	is now explicitly specified with $(top_srcdir)/src/*.cxx
877
	This makefile now builds oth a shared library libHepMC.so and
878
	libHepMC.a (requested by Ian H.)
879
	* the initpydata.f routine is no longer compiled into the the
880
	HepMC library, but is still packaged with the other routines.
881
	The user needs to link to it explicitly. See the GNUmakefile.in
882
	in the examples directory for an example of how to do this.
883
	(requested by Ian H.)
884
	* ./src is replaced with $(top_srcdir)/src everywhere in the
885
	GNUmakefile.in
886
 
887
	Files changed this time:
888
	GNUmakefile.in, examples/GNUmakefile.in, Makefile.standalone,
889
	Changelog
890
 
891
2000-05-18  Matt Dobbs  <Matthew.Adam.Dobbs@Cern.CH>
892
 
893
	* HepMC/IO_BaseClass.h: There is now a fill_next_event method.
894
	- bool fill_next_event( GeneratorEvent* evt ) is a new abstract method
895
	  which fills the passed event, and also returns true if successful.
896
	- GeneratorEvent* read_next_event() is now make concrete. it
897
	  creates a new event, fills it using the above abstract method,
898
	  and returns the event
899
	This change is backwards compatible since the method
900
	read_next_event() has identical behavior.
901
	Identical changes are made for the methods:
902
	- bool fill_particle_data_table( ParticleDataTable* pdt )
903
	- ParticleDataTable* read_particle_data_table()
904
	The methods are updated [ i.e. GeneratorEvent* read_next_event()
905
	is changed to bool fill_next_event( GeneratorEvent* evt ), etc. ]
906
	in:
907
	- IO_HEPEVT.h
908
	- IO_Ascii.h
909
	- IO_PDG_ParticleDataTable.h
910
	- IO_HEPEVT.cxx
911
	- IO_Ascii.cxx
912
	- IO_PDG_ParticleDataTable.cxx
913
	(This change requested by Ian Hinchliffe and Marjorie Shapiro.)
914
 
915
 
916
2000-04-24  Matt Dobbs  <Matthew.Adam.Dobbs@Cern.CH>
917
 
918
	* HepMC/HEPEVT_Wrapper.h: set_momentum and set_position now
919
	properly cast input doubles as type HEPEVT_Precision,
920
	previously they were hardwired as cast to double, this
921
	meant writing to real*4 hepevt would fail.
922
 
923
******************************************************
924
Everything below this line corresponds to Version 0.91
925
******************************************************
926
 
927
2000-04-11  Matt Dobbs  <Matthew.Adam.Dobbs@Cern.CH>
928
 
929
	* doc/latex_user_manual/HepMC_user_manual.tex: User manual is
930
	updated to replect changes since V0.9
931
	- HEPEVT and position in [mm]
932
 
933
2000-04-06  Matt Dobbs  <Matthew.Adam.Dobbs@Cern.CH>
934
 
935
	* examples/example_MyPythia.cxx
936
	* examples/example_MyPythiaOnlyToHepMC.cxx
937
	* examples/example_MyPythiaWithEventSelection.cxx:
938
	By commenting out the initpydata call (which may be required on
939
	some systems to initialize the Pythia PYDATA block data as
940
	external) the MyPythia examples now run on HPUX (and still on
941
	Linux). Have not tested other platforms.
942
	* Makefile: HPUX with gcc requires the -lf library which contains
943
	the fortran intrinsic function.
944
 
945
2000-04-05  Matt Dobbs  <Matthew.Adam.Dobbs@Cern.CH>
946
 
947
	The changes below will have no effect on the user or package, they
948
	just serve to remove warnings when compiling.
949
 
950
	* HepMC/Vertex.h: 313:342:364: warning: unused parameter `enum
951
	::HepMC::IteratorRange dummy_range' (all dummy range parameters
952
	now appear as particles_end( IteratorRange /* dummy_range */ ) )
953
 
954
	* src/IO_Ascii.cxx (HepMC): 506: warning: ANSI C++ forbids
955
	variable-size array `c' (the array is now declared as char* c =
956
	new char[key_length +1]; and deleted before returning)
957
 
958
	* HepMC/IO_PDG_ParticleDataTable.h: 53: warning: control reaches
959
	end of non-void function read_next_event()
960
	(this is a dummy function anyway -- return 0)
961
	* HepMC/IO_HEPEVT.h:55: (as above)
962
 
963
	* src/Flow.cxx (HepMC): 26: warning: default argument given for
964
	parameter 1 of `void ::HepMC::Flow::print(class ostream & = cout)
965
	const' (done)
966
 
967
	* HepMC/IO_HEPEVT.h:57: warning: base class `class
968
	::HepMC::IO_BaseClass' should be explicitly initialized in the
969
	copy constructor (done)
970
	* HepMC/IO_Ascii.h: 98: (as above)
971
	* HepMC/IO_PDG_ParticleDataTable.h: 56: (as above)
972
 
973
	* HepMC/ParticleDataTable.h: 155: warning: suggest parentheses
974
	around assignment used as truth value (done)
975
 
976
	* src/IO_Ascii.cxx (HepMC): 37: warning: default argument given
977
	(removed default argument)
978
 
979
	* HepMC/Flow.h:21: warning: multiline `//' comment
980
	(added space after \ to remove compiler warning)
981
 
982
	* HepMC/Particle.h: removed =0 in the inline declaration
983
	inline void Particle::set_flow( int code_index, int code = 0 )
984
	(caused warning).
985
 
986
 
987
2000-04-04  Matt Dobbs  <Matthew.Adam.Dobbs@Cern.CH>
988
 
989
	* HepMC/HEPEVT_Wrapper.h:  HepMC/HEPEVT_Common.h:
990
	replace the classes HEPEVT_BaseClass.h HEPEVT_Double2000.h
991
	HEPEVT_Double4000.h HEPEVT_Real2000.h HEPEVT_Real4000.h
992
 
993
	Using different classes for each of the HEPEVT common block
994
	varieties proved very troublesome - users had trouble and 4
995
	similar classes were being maintained. The new version uses only
996
	static methods and cannot be instantiated (logical since it has
997
	no data members). The HEPEVT common block is contained in the
998
	HepMC/HEPEVT_Common.h header. The precision and number of entries
999
	is specified using #define commands, default is double precision,
1000
	2000 entries. The user will see only one change - the IO_HEPEVT
1001
	constructor now has no arguments, so he need not define the
1002
	any HEPEVT_XXX class. He may need to set the precision and number
1003
	of entries. See the header for instructions, and
1004
	examples/example_MyPythia.cxx for an example.
1005
 
1006
	example_MyPythia.cxx, example_MyPythiaOnlyToHepMC.cxx,
1007
	example_MyPythiaWithEventSelection.cxx are modified to take this
1008
	into account.
1009
 
1010
	* HepMC/IO_HEPEVT.h: This class now extracts information from the
1011
	fortran HEPEVT common using HEPEVT_Wrapper instead of having to
1012
	pass it a class which inherits from the obsolete HEPEVT_BaseClass.
1013
 
1014
2000-04-03  Matt Dobbs  <Matthew.Adam.Dobbs@Cern.CH>
1015
 
1016
	* HepMC/PythiaWrapper5_720.h: Credit for writing the wrapper is
1017
	to Silvia Resconi.
1018
	Inclusion of HEPEVT wrapper header file is not necessary --- hence
1019
	removed.
1020
 
1021
2000-03-31  Matt Dobbs  <Matthew.Adam.Dobbs@Cern.CH>
1022
 
1023
	* HepMC/ParticleData.h: clifetime is now represented in [mm]
1024
	instead of [cm] ... previously HepMC had internal inconsistencies
1025
	in this --- it claimed to use [cm], but sometimes used [mm] (as
1026
	when it read from HEPEVT, and othertimes used [cm] (as when it
1027
	transformed a width into a lifetime. Now all is consitent and [mm]
1028
	is used everywhere as it should be.
1029
	* HepMC/Vertex.h: src/ParticleData.cxx:
1030
	Changed comments which say clifetime is in [cm], to say
1031
	clifetime is in [mm].
1032
 
1033
	* Makefile (CLHEPdir):
1034
	Changed
1035
	CLHEPdir      = /afs/cern.ch/sw/lhcxx/specific/Linux/CLHEP/pro
1036
	to
1037
	CLHEPdir      = /afs/cern.ch/sw/lhcxx/specific/@sys/CLHEP/dev
1038
	to make it platform independent for CERN users.
1039
	And some cosmetic changes to the Makefile.
1040
 
1041
	* HepMC/IO_BaseClass.h:
1042
	Using the compiler options -ansi -pedantic cause this error:
1043
	no match for `::HepMC::IO_Ascii & << ::HepMC::GeneratorEvent *&'
1044
	Even though it recognizes:
1045
	operator <<(::HepMC::IO_BaseClass &,
1046
	            const ::HepMC::GeneratorEvent *&) <near match>
1047
	as the "best <near match>".
1048
 
1049
	To fix this I make operator<<, operator>> members of the
1050
	IO_BaseClass rather than friends, and I add versions where the
1051
	argument of operator<< is not constant.
1052
	This will not affect users in any way (unless they were using
1053
	these compiler options, in which case HepMC didn't work anyway...)
1054
 
1055
2000-02-16  Matt Dobbs  <Matthew.Adam.Dobbs@Cern.CH>
1056
 
1057
	* GeneratorEvent.h: set_signal_process_vertex() modified to ensure
1058
	that any vertex specified as signal process is ALSO in the
1059
	m_vertices set.
1060
 
1061
	* This change log documents changes since Version 9 of HepMC was
1062
	"released" February 11, 2000
1063
 
1064
pre 2000-02-16  Matt Dobbs  <Matthew.Adam.Dobbs@Cern.CH>
1065
Changes Before Version 0.9 (i.e. changes in going from V0.1 -->0.9)
1066
	    HepMC improvements:
1067
	        +backup V0.1  (done)
1068
	        +save particle data as id in Particle  (done)
1069
		+update IO strategies  (done)
1070
		+test  (done)
1071
		+backup  (done)
1072
	     -change set<Vertex*> in event to include all vertices (done)
1073
		+change iterators to reflect this (done)
1074
		+update IO strategies (done)
1075
		+test (done)
1076
	     -fix all operator= to first destruct dependents. (done)
1077
	     -access functions to iterate over all flows  (done)
1078
	     -check for stl namespace  (done)
1079
	      grep -n cout HepMC/*.h src/*.cxx | grep -v std::cout |
1080
	        less
1081
             -add Hepevt:write event  (done)
1082
	     -implement lujet strategy (not done!)
1083
	     -update documentation -- enumerating recent changes.  (done)
1084
	     -user manual written
1085