hepmc - Blame information for rev 280

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