hepmc - Blame information for rev 366

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