hepmc - Blame information for rev 261

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