hepmc - Blame information for rev 263

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