hepmc - Blame information for rev 268

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