hepmc - Blame information for rev 310

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