hepmc - Blame information for rev 209

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