hepmc - Blame information for rev 295

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