hepmc - Blame information for rev 147

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