hepmc - Blame information for rev 544

Subversion Repositories:
Rev:
Rev Author Line No. Line
544 garren 1  
2 2013-03-25 Lynn Garren
3  
4 * HepMC/HeavyIon.h: add centrality (defaults to zero)
5 * HepMC/HepMCDefs.h: define HEPMC_HEAVY_ION_HAS_CENTRALITY
6 * working release number is 2.07.00.a01
7  
534 garren 8 -------------------------- HepMC-2.06.09 --------------------------
9  
10 2012-06-05 Lynn Garren
11  
12 * configure.ac: explicitly disallow using configure with VC++
13 * INSTALL*: improve build instructions
14  
522 garren 15 -------------------------- HepMC-2.06.08 --------------------------
16  
526 garren 17 2012-02-16 Lynn Garren
18  
19 * src/GenEventStreamIO.cc: make sure we check the stream units
20 if there is no unit line in the event header
21 * test/testHepMC.cc.in: verify unit behavior
22  
522 garren 23 2012-02-10 Lynn Garren
24  
25 * cmake/Modules/HepMCVariables.cmake: deal with Windows
26  
27 * HepMC/GenEvent.h: add define_units()
28  
511 garren 29 -------------------------- HepMC-2.06.07 --------------------------
507 garren 30  
511 garren 31 2012-01-09 Lynn Garren
32  
33 * remove all VCMakefile.in files
34 * Use cmake to build for Windows
35 * cmake is now the preferred build method
36  
507 garren 37 2012-01-05 Lynn Garren
38  
511 garren 39 * src/GenEvent.cc: fix a typo in error report for GenEvent::use_length_unit
509 garren 40  
41 * examples/pythia8: add main31 and main32 from pythia8
508 garren 42  
43 2012-01-05 Lynn Garren
44  
507 garren 45 * GenParticle.h, GenVertex.h, PdfInfo.h, SimpleVector.h, SimpleVector.icc:
46 Rename local variables to avoid shadowing class variables.
47 This problem surfaces when compiling with -Wshadow.
48  
491 garren 49 -------------------------- HepMC-2.06.06 --------------------------
478 garren 50  
484 garren 51 2011-11-09 Lynn Garren
52  
53 * add the ability to build with cmake
54 * defs.h is neither created nor installed when building with cmake
55  
482 garren 56 2011-11-01 Lynn Garren
57  
58 * examples: move Pythia and Herwig examples to examples/fio
59  
480 garren 60 2011-10-31 Lynn Garren
61  
62 * remove fio/PythiaWrapper.cc
63 * HepMC/PythiaWrapper.h: HepMC::GenCrossSection getPythiaCrossSection()
64 is now an inline method
65  
478 garren 66 2011-10-25 Lynn Garren
67  
68 * fio/PythiaWrapper.cc: remove struct definitions
69  
465 garren 70 -------------------------- HepMC-2.06.05 --------------------------
466 garren 71 2011-04-21 Lynn Garren
72  
73 * HepMC/GenVertex.h: add #include <cstddef> for bug #80400
74  
462 garren 75 2011-04-15 Lynn Garren
76  
77 * test/testFlow.cc, test/testPrintBug.cc: define units
78 * test/*.sh.in: make sure comparisons work for allowed
79 momentum and length combinations
80  
456 garren 81 -------------------------- HepMC-2.06.04 --------------------------
455 garren 82 2011-01-04 Lynn Garren
83  
84 * src/HeavyIon.cc, src/PdfInfo.cc: throw if there is an invalid line type
85 * test/testHepMC.cc.in, test/testStreamIO.cc.in, test/testHepMCVarious.input:
86 provoke a problem with HeavyIon (see bug #76527)
87  
451 garren 88 -------------------------- HepMC-2.06.03 --------------------------
450 garren 89 2010-10-22 Lynn Garren
90  
91 * test/testPolarization.cc: verify that Polarization is copied and written
92  
449 garren 93 2010-10-20 Lynn Garren
94  
95 * src/GenParticle.cc: copy flow when using the copy constructor
96 * test/testFlow.cc: add check to be sure flow is copied
97  
98 -------------------------- HepMC-2.06.02 --------------------------
442 garren 99 2010-08-18 Lynn Garren
100  
444 garren 101 * src/GenEventStreamIO.cc, StreamHelpers.cc:
445 garren 102 cleanup unassociated event remnants if corrupt data is found
442 garren 103  
440 garren 104 2010-07-30 Lynn Garren & Andy Buckley
105  
106 * src/GenEventStreamIO.cc: create GenCrossSection, PdfInfo, and HeavyIon
107 on the stack rather than the heap to fix a memory leak
108  
438 garren 109 -------------------------- HepMC-2.06.01 --------------------------
436 garren 110 2010-06-01 Lynn Garren
111  
112 * HepMC/GenRanges.h: remove ConstGenVertexParticleRange since
438 garren 113 there is neither a GenVertex::particle_const_iterator nor a
114 GenVertex::vertex_const_iterator
436 garren 115 * HepMC/GenVertex.h: remove unimplemented
116 ConstGenVertexParticleRange particles()
117  
118  
432 garren 119 -------------------------- HepMC-2.06.00 --------------------------
120 -------------------------- HepMC-2.06.00.b02 --------------------------
121 2010-05-13 Lynn Garren
418 garren 122  
432 garren 123 * HepMC/Version.h: version() now takes an optional output stream
124  
125 * HepMC/GenEvent.h: add helper method for reading weight names
126 * src/GenEventStreamIO.cc: use new helper method to read weight names
127 * testHepMCVarious.input: change order of some event info lines
128 * test/testIOGenEvent.input: add named weights for testing
129  
130 2010-05-12 Lynn Garren
131  
132 * "make check" now works if momentum units are MEV
133  
134 2010-05-11 Lynn Garren
135  
136 * rename HepMC/GenEventIterators.h to HepMC/GenRanges.h
137  
138 * src/GenEventStreamIO.cc: fix a bug reading unnamed (old style) weights
139  
140 * test/testHepMC: add more weight testing
141  
142 -------------------------- HepMC-2.06.00.b01 --------------------------
143  
144 2010-04-05 Lynn Garren
145  
146 * HepMC/StreamInfo.h: add reading_event_header flag for use by streaming input
147 * src/GenEventStreamIO.cc: Input no longer expects a fixed order of
148 header lines and will ignore lines that are not of a known type.
149  
150 * HepMC/HerwigWrapper.h: add hwbeam
151 * rename PythiaWrapper6_2.h to PythiaWrapper6_4.h
152 Add structs for more common blocks.
153  
154 2010-04-02 Lynn Garren
155  
156 * HepMC/IteratorRange.h: put the enum in its own header
157 * HepMC/GenEvent.h: add vertex_range() and particle_range()
158 * HepMC/GenParticle.h: add particles_in(range) and particles_out(range)
159 * HepMC/GenVertex.h: add particles(range),
160 particles_in(GenParticle,range), and particles_out(GenParticle,range)
161 * test/testHepMCIteration.cc: use the new methods
162  
163 2010-03-20 Lynn Garren
164  
165 * HepMC/GenEventIterators.h: add ConstGenVertexParticleRange,
166 ConstGenParticleProductionRange, and ConstGenParticleEndRange
167 * HepMC/WeightContainer.h: method to check for weight name is has_key()
168 * src/GenEventStreamIO.cc: use quotes to delineate weight names
169  
170 2010-02-08 Lynn Garren
171  
172 * remove unused PythiaWrapper5_720.h, PythiaWrapper6_152.h, and PythiaWrapper6_152_WIN32.h
173 * combine HerwigWrapper6_4.h and HerwigWrapper.h in a single file
174 * HepMC/PythiaWrapper.h: add getPythiaCrossSection function
175 * HepMC/HerwigWrapper.h: add getHerwigCrossSection function
176 * fio/PythiaWrapper.cc: implement getPythiaCrossSection function
177 * fio/HerwigWrapper.cc: implement getHerwigCrossSection function
178 * remove redundant examples/HerwigHelper.h.
179  
180 2010-02-04 Lynn Garren
181  
182 * doc/Makefile.am, examples/Makefile.am: use pkgdatadir to define the instation directory
183 The default installation directory is now ${prefix}/share/HepMC/doc
184 Override with --datadir=/some/directory/path
185  
186 * HepMC/Polarization.h: add is_defined() and set_undefined()
187 is_defined returns false if the polarization is undefined
188 set_undefined unsets the defined flag and zeroes the Polarization
189  
190 2010-01-28 Lynn Garren
191  
192 * HepMC/GenEventIterators.h: This new header defines a set of classes
193 which provide the appropriate iterators ranges. They can be used to
489 garren 194 simplify code and also work directly with such utilities as std::foreach.
432 garren 195 These new classes are
196 GenEventVertexRange, ConstGenEventVertexRange,
197 GenEventParticleRange, ConstGenEventParticleRange,
198 GenVertexParticleRange,
199 GenParticleProductionRange, and GenParticleEndRange
200 * test/testHepMCIteration.cc: use the new iterator clases and
201 also illustrate the use of std::for_each
202  
203 2010-01-26 Lynn Garren
204  
205 * test/testHepMCIteration: illustrate use of std::for_each
206  
207 2010-01-25 Lynn Garren
208  
209 * HepMC/WeightContainer.h: add map-like functionality, allowing users to
210 name weights, while retaining the original vector interface for
211 complete backwards compatibility
212 If a name is not specified for a particular weight, the default
213 name is the weight's vector index.
214 Also add == and != operators.
215 * HepMC/GenEvent.h: add a private method used by the stream I/O
216 * src/GenEventStreamIO.cc: add a new line for weight names
217 The weight name line is optional when reading input and is
218 written only if the event weights object is not empty.
219 * test/testWeights.cc: add tests for WeightContainer
220 * test/testHepMC: test I/O of named weights
221 * examples/testPythiaCopies.cc: set some arbitrary weights
222  
223 2010-01-09 Lynn Garren
224  
225 * removed ParticleDataTable.h and all supporting references.
226  
227 -------------------------- HepMC-2.05.01 --------------------------
228  
424 garren 229 2010-01-04 Lynn Garren
230  
231 * HepMC/GenEvent.h: add write_cross_section(std::ostream&)
232 * src/GenEvent.cc: output the cross section (if it exists) when printing an event
233 * src/GenVertex.cc, GenParticle.cc: save and restore output stream state
234 when calling print methods
235  
427 garren 236 * examples: Calculate Pythia and Herwig cross sections using
237 getPythiaCrossSection from examples/PythiaHelper.h and
238 getHerwigCrossSection from examples/HerwigHelper.h.
424 garren 239 Set the units explicitly.
240 * test/testHepMC.cc.in: call write_cross_section()
241  
419 garren 242 2009-12-28 Lynn Garren
243  
244 * examples/VectorConversion.h: inline the functions
245  
418 garren 246 2009-07-08 Lynn Garren
247  
248 * HepMC/Flow.h: improve the syntax of the erase() method
249 * test/testFlow.cc: adding a test of the Flow class
250 see https://savannah.cern.ch/bugs/index.php?52240
251  
390 garren 252 -------------------------- HepMC-2.05.00 --------------------------
386 garren 253  
390 garren 254 2009-05-19 Lynn Garren
255  
256 * HepMC/GenCrossSection: new class to contain the generated
257 cross section and cross section error. This information is
258 considered temporary and could change on an event by event basis.
259 * write GenCrossSection information with GenEvent whenever the
260 cross section has been set.
261 * GenEvent.h: add pointer to a CrossSection (null by default).
262  
263 * examples: add example_PythiaStreamIO.cc,
264 which uses streaming I/O and GenCrossSection.
265  
266 2009-05-07 Lynn Garren
267  
268 * GenEvent: add streaming input and output methods:
269 std::ostream& write(std::ostream&);
270 std::istream& read(std::istream&);
271 Add some private methods used by streaming I/O.
272  
273 2009-04-17 Lynn Garren
274  
275 * GenEvent.h, GenVertex.h: explicitly disallow -- iterator operators.
276  
394 garren 277 * IO_GenEvent: add precision() to set output precision (default is 16).
278 IO_GenEvent uses the GenEvent streaming input and output operators.
390 garren 279 Many of the protected methods are no longer useful and have been removed.
280  
394 garren 281  
390 garren 282 * IO_Exception class added for use when throwing errors.
283 If invalid data is encountered when reading an event, input will
284 read to the end of the event instead of failing and return an
285 empty GenEvent or null pointer.
286  
287 * StreamHelpers.h: Define functions used by streaming I/O.
288 All are in the detail namespace.
289  
290 * StreamInfo: Special class containing extra information needed
291 to process HepMC ascii I/O. This class is initialized by a call
292 to a custom iomanip when any I/O stream is initialized and deleted
293 by the stream destructor. Each stream has a separate instance.
294  
295 * CommonIO is no longer necessary and has been removed.
296  
297 * GenEvent: Add streaming input and output operators.
298 Add free functions to be used with streaming I/O: set_input_units,
299 write_HepMC_IO_block_begin, and write_HepMC_IO_block_end.
300  
301 2009-03-02 Lynn Garren
302  
303 * HeavyIon: Add streaming input and output operators.
304 Add is_valid() method.
305  
306 * PdfInfo: Add streaming input and output operators.
307 Add is_valid() method.
308  
386 garren 309 2009-01-29 Lynn Garren
310  
311 * HepMC/SimpleVector: remove FourVector::mag() and ThreeVector::mag()
388 garren 312 Change test/testSimpleVector.cc and test/testMass.cc to reflect this.
386 garren 313  
389 garren 314 * HepMC/HepMCDefs.h: New header containing HEPMC_HAS_UNITS and
315 similar macros so users can check for various code features.
316 HepMC/GenEvent.h includes HepMCDefs.h.
317 * HepMC/Version.h: Use new HEPMC_VERSION macro.
318  
390 garren 319 * HepMC/GenParticle: add is_undecayed(), has_decayed(),
320 and is_beam_particle() convenience methods.
321 Test these methods in test/testHepMC.
389 garren 322  
388 garren 323 2009-01-28 Lynn Garren
324  
325 * remove HepMC/IO_Ascii.h and test/testDeprecated
326  
327 * remove HepMC/HepMC_CLHEP20.h
328  
383 garren 329 -------------------------- HepMC-2.04.01 --------------------------
368 garren 330  
383 garren 331 2008-12-15 Lynn Garren
332  
333 * src/CommonIO.cc: add space requested by -Wextra
334 The -Wextra flag is not a default compiler flag, request it with
335 configure ... CXXFLAGS="-Wextra"
336  
337 2008-12-11 Lynn Garren
338  
339 * test/testHepMCIteration.cc.in: add loop over children to the test
340  
341 * src/IO_Ascii.cc, IO_GenEvent.cc: fix error messages
342  
368 garren 343 2008-06-24 Lynn Garren
344  
345 * fio/IO_HEPEVT.cc: bug fix for inconsistency in HWHGUP
346 see https://savannah.cern.ch/bugs/?38173 for details
347  
355 garren 348 -------------------------- HepMC-2.04.00 --------------------------
332 garren 349  
354 garren 350 2008-06-04 Lynn Garren
351  
352 * doc/HepMC2_user_manual.tex: expand description of Ascii IO format
353  
350 garren 354 2008-05-29 Lynn Garren
355  
356 * configure.ac: Use libtool versioning for libraries
357  
346 garren 358 2008-05-27 Lynn Garren
359  
360 * configure.ac: Throw an error immediately if units are not specified.
361  
343 garren 362 -------------------------- HepMC-2.04.00.beta2 --------------------------
363  
340 garren 364 2008-05-21 Lynn Garren
345 garren 365  
366 * HepMC/GenEvent.h: Duplicate the existing constructors with new
367 constructors that have momentum and length as the first 2 arguments.
340 garren 368  
369 * examples: all examples except example_BuildEventFromScratch,
342 garren 370 testHerwigCopies, and testPythiaCopies use default units
371  
372 * HepMC/IO_GenEvent.h: add use_input_units() method
373 This method is needed ONLY if a) the input stream has no
374 unit information and b) it is known that the units of the input
375 stream do not match the default units.
340 garren 376  
336 garren 377 2008-05-20 Lynn Garren
378  
379 * revamp Units design completely
380 Replace MomentumUnits.h and PositionUnits.h with Units.h
381 Allowed unit designations are GEV, MEV, MM, and CM
382  
383 * configure.ac: User MUST specify both --with-momentum_units=XX
384 and --with-length_units=YY. There are no defaults.
385  
386 * HepMC/GenEvent.h: unit data members are now enums
387  
332 garren 388 2008-05-12 Lynn Garren
389  
390 * HepMC/Pdfinfo.h: Input parton flavour codes id1 and id2 are expected
391 to obey the PDG code conventions, especially g = 21.
392  
330 garren 393 -------------------------- HepMC-2.04.00.beta --------------------------
278 garren 394  
321 garren 395 2008-05-05 Lynn Garren
396  
397 * configure.ac: use separate makefiles (VCMakefile.in) for Visual C++
398 The custom makefiles are invoked by default when using Visual C++.
329 garren 399 * doc: Stop building postscript copies of the manuals, just
400 build and distribute PDF copies of the manuals.
321 garren 401  
317 garren 402 2008-04-29 Lynn Garren
403  
404 * remove deprecated IO_ExtendedAscii
405  
308 garren 406 2008-04-25 Lynn Garren
407  
317 garren 408 * cleanup examples: combine example_MyPythia.cc,
409 example_MyPythiaRead.cc, example_MyPythiaWithEventSelection.cc,
410 example_PythiaParticle.cc, and example_ReadMyPythia.cc into one example with multiple subsets.
309 garren 411 * add tests to list of examples in the reference manual
308 garren 412  
301 garren 413 2008-04-23 Lynn Garren
414  
415 * src/GenVertex.cc: fix bug in edge_iterator operator++
305 garren 416 * src/IO_Ascii.cc: fix for VC9
417 * src/IO_ExtendedAscii.cc: fix for VC9
418 * src/IO_AsciiParticle.cc: fix for VC9
301 garren 419  
286 garren 420 2008-04-18 Lynn Garren
421  
297 garren 422 * HepMC/GenEvent.h: minor bug fix for gcc 4.3.0
423 * HepMC/IO_ExtendedAscii.h: minor bug fix for gcc 4.3.0
424 * HepMC/IO_GenEvent.h: minor bug fix for gcc 4.3.0
425 * src/IO_ExtendedAscii.cc: minor bug fix for gcc 4.3.0
426 * src/IO_GenEvent.cc: minor bug fix for gcc 4.3.0
427  
428 2008-04-18 Lynn Garren
429  
286 garren 430 * ReadMe.cygwin: changing cygwin directions for new versions of VC
431  
291 garren 432 * HepMC/MomentumUnits.h: enum HepMCmomentumUnits{ UNKNOWN = 0, MEV, GEV };
433 Recommended usage: MomentumUnits::GEV
434 * HepMC/PositionUnits.h: enum HepMCpositionUnits{ unknown = 0, MM, CM }
435 Recommended usage: PositionUnits::MM
436  
285 garren 437 2008-04-17 Lynn Garren
438  
439 * Rename configure.in to configure.ac, which is now the common usage.
440 * configure.ac: Major restructuring. Using libtool.
441 Only Linux, MacOSX, and Windows are explicitly supported.
442 All Makefile.am's have been restructured to use libtool.
443  
284 garren 444 2008-04-01 Lynn Garren
445  
446  
447 * HepMC/IO_GenEvent.h: replace const char* filename with
448 const std::string& in the constructor accepting a filename.
449  
282 garren 450 2008-03-31 Lynn Garren
451  
452 * HepMC/GenEvent.h: random_states() now returns const std::vector<long>&
453 HepMC/GenVertex.h: position() now returns a const FourVector&
454 HepMC/GenParticle.h: flow() now returns const Flow&
455 and polarization() now returns const Polarization&
456  
283 garren 457 * HepMC/IO_GenEvent.h: add a constructor that accepts the filename
458 as a string.
459  
281 garren 460 2008-03-28 Lynn Garren
461  
462 * HepMC/GenParticle.h: The momentum() method now returns a const
463 reference to a FourVector instead of a copy of a FourVector.
464 This change should be backwards compatible.
465  
280 garren 466 2008-03-27 Lynn Garren
467  
468 * examples: set Herwig and Pythia units to GeV and mm
469  
278 garren 470 2008-03-26 Lynn Garren
471  
472 * HepMC/MomentumUnits.h: new class to encapsulate momentum units,
473 which are represented by a single enum
474 * HepMC/PositionUnits.h: new class to encapsulate position units,
475 which are represented by a single enum
476 * GenEvent: add MomentumUnits and PositionUnits data members and
477 associated methods
478 * GenVertex: add protected convert_position method
479 * GenParticle: add protected convert_momentum method
480  
481 * HepMC/PdfInfo.h: add pdf_id1(), pdf_id2(), set_pdf_id1(), and
482 set_pdf_id2() for the pdf set id numbers
483  
484 * IO_GenEvent: get and put unit information in a new line
485 The first character of the unit line is "U".
486 * IO_GenEvent: process the new PdfInfo data members
487  
488 * test/testUnits.cc: new test for MomentumUnits and PositionUnits
489  
333 garren 490 -------------------------- HepMC-2.03.08 --------------------------
491  
492 2008-04-23 Lynn Garren
493  
494 * src/GenVertex.cc: fix bug in edge_iterator operator++
495 * src/IO_Ascii.cc: minor fix for VC9
496 * src/IO_ExtendedAscii.cc: minor fix for VC9
497 * src/IO_AsciiParticle.cc: minor fix for VC9
498  
499 -------------------------- HepMC-2.03.07 --------------------------
500  
501 2008-04-18 Lynn Garren
502  
503 * HepMC/GenEvent.h: minor bug fix for gcc 4.3.0
504 * HepMC/IO_ExtendedAscii.h: minor bug fix for gcc 4.3.0
505 * HepMC/IO_GenEvent.h: minor bug fix for gcc 4.3.0
506 * HepMC/ParticleData.h: minor bug fix for gcc 4.3.0
507 * src/IO_ExtendedAscii.cc: minor bug fix for gcc 4.3.0
508 * src/IO_GenEvent.cc: minor bug fix for gcc 4.3.0
509  
271 garren 510 -------------------------- HepMC-2.03.06 --------------------------
263 garren 511  
269 garren 512 2008-03-12 Lynn Garren
513  
514 * test: reduce size of input files
270 garren 515  
516 * IO_HEPEVT: add trust_beam_particles and set_trust_beam_particles
517 methods so the user can specify that no beam particles are available.
518 This fixes a problem with pythia6 input when the user chooses "none".
269 garren 519  
264 garren 520 2008-03-11 Lynn Garren
263 garren 521  
522 * src/GenEvent.cc: The GenVertex pointer to the parent event was
523 not properly moved when the operator= method was used to copy
524 a GenEvent. That bug is now fixed.
264 garren 525 * GenVertex: added protected change_parent_event_ method for swap
526 as part of bug fix.
527 * test/testMultipleCopies.cc.in: Add explicit tests for operator=
528 and swap.
268 garren 529  
530 * examples: minor tweaks for readability
263 garren 531  
261 garren 532 -------------------------- HepMC-2.03.05 --------------------------
260 garren 533  
534 2008-02-22 Lynn Garren
535  
536 * fio/IO_HEPEVT.cc: According to standard HepMC design, all vertices
537 in an event are expected to contain particles. If, for instance, the
538 first two particles have no parents, then they should simply not have
539 a production vertex. However, in at least one instance empty production
540 vertices were created for the first two particles. IO_HEPEVT now
541 protects against this.
542  
543  
544 2008-02-18 Lynn Garren
545  
546 * HepMC/HEPEVT_Wrapper.h: fix calculation of the total size
547 of the common block
548  
256 garren 549 -------------------------- HepMC-2.03.04 --------------------------
550  
551 2008-02-05 Lynn Garren
552  
553 * test: use /bin/bash instead of /bin/sh in shell scripts
554  
555 * GenEvent, GenVertex, GenParticle: remove static counters
556 These counters were only for the debugging convenience of the
557 HepMC code developer. They were not accessible by users.
558  
559 2008-02-04 Lynn Garren
560  
561 * fio/IO_HERWIG.cc: fix for Z0 mother-daughter problem (from Atlas)
562  
563 * HepMC/SimpleVector.h: Remove simple math methods
564  
565 2007-01-29 Lynn Garren
566  
567 * examples/testHerwigCopies.cc: compare copies of Herwig events
568  
569 * examples/testPythiaCopies.cc: compare copies of Pythia events
570  
571 2007-01-15 Lynn Garren
572  
573 * TempParticleMap.h: use barcode instead of counter for ordering
574 to solve a problem with changed order of particles when making copies
575  
576 2007-01-14 Lynn Garren
577  
578 * HepMC/CompareGenEvent.h: new utility to compare two
579 copies of a GenEvent object
580  
581 * test/testMultipleCopies.cc.in: verify that two copies of
582 the same GenEvent object are, indeed, the same
583  
584 * test/testHepMCIteration: use a different output file name so the
585 test will work if you build on top of the source code
586  
587  
214 garren 588 -------------------------- HepMC-2.03.03 --------------------------
209 garren 589  
590 2007-12-17 Lynn Garren
591  
592 * HepMC/SimpleVector.h: Add simple math methods:
593 FourVector operator + (const FourVector &) const;
594 FourVector & operator += (const FourVector &);
595 FourVector operator - (const FourVector &) const;
596 FourVector & operator -= (const FourVector &);
597 FourVector operator - () const;
598 FourVector & operator *= (double);
599 The same methods were also added to ThreeVector.
600  
205 garren 601 -------------------------- HepMC-2.03.02 --------------------------
190 garren 602  
204 garren 603 2007-12-14 Lynn Garren
604  
605 * doc: The HepMC 1 and HepMC 2 user manuals have been merged
606 into a single manual.
607  
608 * HepMC/IO_GenEvent.h: check operator methods for consistency
609  
201 garren 610 2007-12-07 Lynn Garren
611  
612 * HepMC/IO_GenEvent.h: fix problem with rdstate() and clear()
613  
194 garren 614 2007-12-04 Lynn Garren
615  
616 * HepMC/IO_Ascii.h, IO_ExtendedAscii.h, IO_GenEvent.h and
617 src/IO_Ascii.cc, IO_ExtendedAscii.cc, IO_GenEvent.cc:
618 common input methodologies now handled by CommonIO
619  
190 garren 620 2007-12-03 Lynn Garren
621  
622 * HepMC/CommonIO.h, src/CommonIO.cc:
623 new header for shared IO methods and keys
624  
625 * src/IO_GenEvent.cc: use CommonIO
626 search for any of several allowed input data types
627  
192 garren 628 * HepMC/IO_GenEvent.h: disable write_particle_data_table and
629 fill_particle_data_table - that is best done outside HepMC
630  
186 garren 631 -------------------------- HepMC-2.03.01 --------------------------
183 garren 632  
633 2007-11-26 Lynn Garren
634  
185 garren 635 * configure.in: add support for g++-*
636  
637 2007-11-26 Lynn Garren
638  
183 garren 639 * src/IO_GenEvent.cc: bug fix - fill event scale, alphaQED, and alphaQCD
640  
178 garren 641 -------------------------- HepMC-2.03.00 --------------------------
183 garren 642  
177 garren 643 2007-10-30 Lynn Garren
644  
645 * examples/example_ReadMyPythia.cc: New example to read the file
646 written by example_MyPythia.
647  
648 * doc: remove the latex subdirectory after building the reference library
649  
180 garren 650 * GenEvent: add print_version( std::ostream& ) method.
651 If you don't specify an ostream, the default is std::cout.
652  
177 garren 653 * GenVertex: Store particles in vectors instead of sets.
654 Root IO does not properly restore the state of the particle
655 serial number counter, so the previous solution to retaining
656 consistent particle ordering within a vertex had to be revisited.
657  
658 * IO_GenEvent: Replace the temparary particle map with TempParticleMap.
659  
660 * HepMC/SearchVector.h: Utilities to facilitate working with the
661 vector of particles.
662  
663 * HepMC/TempParticleMap.h: Temporary particle container that
664 allows us to maintain particle ordering when reading an event
665 with IO_Ascii and IO_ExtendedAscii.
666  
667 * Use fully qualified names (e.g., HepMC::GenParticle) inside class
668 templates (e.g., std::map<>) wherever they are used within a
669 header so that rootcint can make the dictionary.
670  
157 garren 671 -------------------------- HepMC-2.02.01 --------------------------
150 garren 672  
673 2007-10-16 Lynn Garren
674  
675 * configure.in: build dynamic libraries for MacOSX - thanks to James Monk
676  
148 garren 677 -------------------------- HepMC-2.02.00 --------------------------
147 garren 678  
148 garren 679 2007-07-19 Lynn Garren
680  
681 * IO_GenEvent: uses input and output streams
682 IO_GenEvent can be constructed with a file, an input stream, or
683 an output stream.
684 * IO_Ascii and IO_ExtendedAscii are deprecated.
685 * examples use IO_GenEvent
686  
256 garren 687 -------------------------- HepMC-2.01.10 --------------------------
688  
689 2008-02-05 Lynn Garren
690  
691 * test: use /bin/bash instead of /bin/sh in shell scripts
692  
693 * doc: The HepMC 1 and HepMC 2 user manuals have been merged
694 into a single manual.
695  
696 2008-02-04 Lynn Garren
697  
698 * fio/IO_HERWIG.cc: fix for Z0 mother-daughter problem (from Atlas)
699  
700 2008-01-14 Lynn Garren
701  
702 * test/testHepMCIteration: use a different output file name so the
703 test will work if you build on top of the source code
704  
705 2007-12-17 Lynn Garren
706  
707 * HepMC/Flow.h: comment changes for doxygen
708  
709 * HepMC/GenParticle.h, src/GenParticle.cc: remove remnant static counter
710  
711 * Use fully qualified names (e.g., HepMC::GenParticle) inside class
712 templates (e.g., std::map<>) wherever they are used within a
713 header so that rootcint can make the dictionary.
714  
715 * src/IO_ExtendedAscii.cc: make sure all info is filled when reading
716  
717 * configure.in: add support for g++-*
718 build dynamic libraries for MacOSX - thanks to James Monk
719  
177 garren 720 -------------------------- HepMC-2.01.08 --------------------------
721  
722 2007-10-23 Lynn Garren
723  
724 * GenVertex: Store particles in vectors instead of sets.
725 Root IO does not properly restore the state of the particle
726 serial number counter, so the previous solution to retaining
727 consistent particle ordering within a vertex had to be revisited.
728  
729 * IO_Ascii, IO_ExtendedAscii: Replace the temparary particle map
730 with the more sophisticated TempParticleMap.
731  
732 * HepMC/SearchVector.h: Utilities to facilitate working with the
733 vector of particles.
734  
735 * HepMC/TempParticleMap.h: Temporary particle container that
736 allows us to maintain particle ordering when reading an event
737 with IO_Ascii and IO_ExtendedAscii.
738  
739 -------------------------- HepMC-2.01.07 --------------------------
740  
741 2007-10-19 Lynn Garren
742  
743 * Use fully qualified names (e.g., HepMC::GenParticle) inside class
744 templates (e.g., std::map<>) wherever they are used within a
745 header so that rootcint can make the dictionary.
746  
148 garren 747 -------------------------- HepMC-2.01.06 --------------------------
748  
147 garren 749 2007-08-07 Lynn Garren
750  
751 * HepMC/GenEvent.h, GenVertex.h,GenParticle.h : add swap method
752 * src/GenEvent.cc, GenVertex.cc, GenParticle.cc:
753 use best practices for assignment and copy constructor
754  
755 * HepMC/SimpleVector.h: add swap method
756 * HepMC/Flow.h: add swap method
757 * HepMC/WeightContainer.h: add swap method
758  
759 * HepMC/Polarization.h: add swap method
760 add private valid_theta and valid_phi methods for use by constructors
761 src/Polarization.cc: use best practices for assignment and copy constructor
762  
134 garren 763 -------------------------- HepMC-2.01.05 --------------------------
117 garren 764  
134 garren 765 2007-07-19 Lynn Garren
766  
767 * HepMC/HeavyIon.h: make it nice for rootcint
768  
769 -------------------------- HepMC-2.01.04 --------------------------
770  
128 garren 771 2007-07-18 Lynn Garren
772  
134 garren 773 * various bug fixes and protections
774  
117 garren 775 -------------------------- HepMC-2.01.03 --------------------------
776  
777 2007-07-11 Lynn Garren
778  
779 * src/IO*.cc: write HepMC version number
780  
115 garren 781 -------------------------- HepMC-2.01.02 --------------------------
101 garren 782  
113 garren 783 2007-07-10 Lynn Garren
784  
785 * HepMC/Version.h: add the ability to print the HepMC version number
786 * src/IO_ExtendedAscii.cc: write HepMC version number
787  
107 garren 788 2007-07-09 Lynn Garren
789  
109 garren 790 * src/IO_ExtendedAscii.cc: read/write beam particle information
791 fix a problem with reading optional info
107 garren 792 * test/testMass.*: compare generated and calculated masses
793  
104 garren 794 2007-06-29 Lynn Garren
795  
105 garren 796 * HepMC/GenEvent.h, src/GenEvent.cc: define beam process methods
797 bool valid_beam_particles() const;
798 std::pair<GenParticle*,GenParticle*> beam_particles() const;
799 bool set_beam_particles(GenParticle*, GenParticle*);
800 bool set_beam_particles(std::pair<GenParticle*,GenParticle*> const &);
801  
802 * fio/IO_HEPEVT.cc, fio/IO_HERWIG.cc: set incoming beam particles
803  
104 garren 804 * HepMC/PythiaWrapper*: remove old process struct
805  
102 garren 806 2007-06-21 Lynn Garren
807  
808 * HepMC/GenEvent.h: add methods to set and access the number of
809 multi particle interactions in the event.
810 The default value of this number is -1.
103 garren 811 * src/IO_ExtendedAscii.cc: read and write MPI information
102 garren 812  
101 garren 813 2007-06-19 Lynn Garren
814  
815 * HepMC/GenParticle.h: use uint64_t for the serial number counter
816  
97 garren 817 -------------------------- HepMC-2.01.00 --------------------------
95 garren 818  
819 2007-06-08 Lynn Garren
820  
96 garren 821 * HepMC/GenEvent.h, src/GenEvent.cc: add clear() method
822  
95 garren 823 * HepMC/GenParticleComparison.h:
824 define a GenParticle comparator
825 * HepMC/GenParticle.h, src/GenParticle.cc:
826 set a serial number to be used by GenParticleComparison
827 * HepMC/Flow.h, HepMC/GenVertex.h, src/Flow.cc, src/GenVertex.cc:
828 use std::set<GenParticle*,GenParticleComparison>
829 * test: automatic comparison of output files is now possible
830  
93 garren 831 -------------------------- HepMC-2.00.04 --------------------------
79 garren 832  
92 garren 833 2007-06-01 Lynn Garren
834  
835 * HepMC/GenEvent.h, src/GenEvent.cc: change interface such that
836 GenEvent makes its own copy of HeavyIon and PdfInfo
837  
838  
85 garren 839 2007-05-29 Lynn Garren
840  
841 * src/GenVertex.cc: initialize range in default constructor
87 garren 842 * src/IO_Ascii*.cc: make sure every object is properly deleted
88 garren 843 * test/testHepMCIteration.cc: add iterator test
85 garren 844  
79 garren 845 -------------------------- HepMC-2.00.03 --------------------------
846  
78 garren 847 2007-04-23 Lynn Garren
848  
849 * bootstrap, configure.in, doc/Makefile.am:
850 To avoid problems with different versions of latex, just build
851 the documents during the bootstrap step.
852 * doc/buildDoc.sh: builds the documents if doxygen and latex are present
853  
77 garren 854 2007-04-20 Lynn Garren
855  
856 * HepMC/include/PythiaWrapper*.h:
857 inline the method definitions to avoid conflicts
858 * examples/initPythia.cc: put pythia intialization in a separate
859 file so we can test PythiaWrapper
860  
71 garren 861 -------------------------- HepMC-2.00.02 --------------------------
47 garren 862  
73 garren 863 2007-02-12 Lynn Garren
864  
865 * test/testHepMC.sh.in: works on Windows (Cygwin), MacOSX, and Linux
866  
71 garren 867 2007-02-07 Lynn Garren
868  
869 * doc/doxygen-template: provide an html template
870  
67 garren 871 2007-01-30 Lynn Garren
872  
69 garren 873 * doc/doxygen.conf: use doxygen 1.5.1
874  
875 2007-01-30 Lynn Garren
876  
67 garren 877 * examples/example_BuildEventFromScratch.cc: add example of
878 conversion from SimpleVector to HepLorentzVector
879 * examples/VectorConversion.h: VectorConversion.h is meant as a
880 template for user code converting to the vector of your choice.
881  
65 garren 882 2007-01-29 Lynn Garren
883  
884 * fix everything so doxygen will create a useful reference manual
885 nearly every file has been touched, but only the comments changed
886  
887  
61 garren 888 2007-01-25 Lynn Garren
889  
67 garren 890 * examples/example_MyPythiaRead.cc: read in the events you just wrote
891 * examples/*.cc: put all uses of IO_Ascii within an explicit scope
62 garren 892  
61 garren 893 * configure.in, doc/Makefile.am: if latex is found, get the path
894  
895 * test/testHepMC.sh.in: make the diff work for MacOSX
896  
58 garren 897 -------------------- HepMC-02-00-01 ---------------------------------
898  
55 garren 899 2007-01-17 Lynn Garren
900  
901 * test/testSimpleVector.cc: exercise the vector methods
902  
54 garren 903 2007-01-16 Lynn Garren
904  
905 * HepMC/SimpleVector.icc: implement ThreeVector::set(x,y,z)
906  
52 garren 907 2006-08-23 Lynn Garren
908  
53 garren 909 * install examples in $(prefix)/examples/HepMC
910  
911 * check for latex and build documents if latex is present
52 garren 912  
49 garren 913 -------------------- HepMC-02-00-00 ---------------------------------
914  
48 garren 915 2006-08-22 Lynn Garren
916  
49 garren 917 * src/IO_ExtendedAscii.cc: read and write generated mass as part of
48 garren 918 particle line.
919  
47 garren 920 2006-08-18 Lynn Garren
921  
922 * doc/HepMC2_user_manual.tex documentation for HepMC 2
923  
43 garren 924 2006-08-01 Lynn Garren
19 garren 925  
43 garren 926 * HepMC/is_arithmetic.h, HepMC/enable_if.h supplied by Walter Brown
927 for a clean template constructor implementation.
928  
929 2006-07-23 Lynn Garren
930  
931 * HepMC/SimpleVector.h: add a templated constructor for both FourVector
932 and ThreeVector that will take any lorentz vector which has the
933 x(), y(), z(), and t() methods. This should enable existing code
934 that uses CLHEP Vector classes to keep working.
935  
936 2006-07-19 Lynn Garren
937  
938 * replace CLHEP/Vector/LorentzVector.h and CLHEP/Vector/ThreeVector.h
939 with HepMC/SimpleVector.h
940 implement some of the basic vector properties so user code won't break
941  
942  
39 garren 943 -------------------- HepMC-01-28-00 ---------------------------------
944  
40 garren 945 2006-08-08 Lynn Garren
946  
947 * HepMC/IO_ExtendedAscii.h: Extended format writes PdfInfo and HeavyIon
948 if they are present in the event. This is otherwise identical
949 to IO_Ascii.h.
950  
37 garren 951 2006-07-30 Lynn Garren
952  
40 garren 953 * HepMC/HEPEVT_Wrapper.h: fix for 64bit machines
37 garren 954  
36 garren 955 2006-07-26 Lynn Garren
956  
957 * HepMC/PdfInfo.h implements information requested by CMS
958 * GenEvent.h, GenEvent.cc make sure m_pdf_info is initialized to 0
959  
30 garren 960 -------------------- HepMC-01-27-02 ---------------------------------
961  
34 garren 962 2006-06-19 Lynn Garren
963  
964 * fix test for Windows
965 * add ReadMe.cygwin-VC71 and setup.cygwin-VC71
966  
967  
26 garren 968 2006-06-14 Lynn Garren
969  
970 * GenEvent.cc, GenParticle.cc, GenVertex.cc use standard C++ output
971 * testPrintBug new test for output problems with gcc 4.x
29 garren 972 * HepMC/HepMC_CLHEP20.h defines several typedefs needed when compiling
973 with CLHEP 2.0.x
974 * HEPEVT_Wrapper.h, HerwigWrapper6_4.h, PythiaWrapper6_2.h
975 need extern "C" statements for gcc 4.x
976 * HepMC_CLHEP20.h, Polarization.h, GenVertex.h, GenParticle.h
977 HepMC will work with both CLHEP 1.9.x and 2.0.x
26 garren 978  
29 garren 979  
23 garren 980 -------------------- HepMC-01-27-01 ---------------------------------
981  
22 garren 982 2006-03-31 Lynn Garren
983  
984 * GenEvent.h, GenEvent.cc make sure m_heavy_ion is initialized to 0
985  
986  
21 garren 987 2006-03-29 Lynn Garren
988  
989 * HepMC/ParticleData.h remove dependency on CLHEP/Units by HepMC_hbarc
990 * HepMC/Polarization.h remove dependency on CLHEP/Units by HepMC_pi
991  
19 garren 992 -------------------- HepMC-01-27-00 ---------------------------------
993  
994 2006-03-07 Lynn Garren
995  
996 * add simple check in the test subdirectory
997  
15 garren 998 2006-02-17 Lynn Garren
999  
1000 * HepMC/HeavyIon.h names have been changed to match both HepMC and
1001 wishes of heavy ion users
1002  
11 garren 1003 2006-01-12 Lynn Garren
1004  
1005 HepPDT 1.26 is available at https://savannah.cern.ch/projects/hepmc/
1006  
1007 * HepMC/HeavyIon.h implements information requested by CMS
1008 * HepMC/GenParticle.h has pointer (null by default) to HeavyIon
1009 * code providing interfaces to Fortran common blocks has been moved
1010 out of libHepMC and into libHepMCfio
1011  
1012 -------------------- HepMC-01-02-26 ---------------------------------
1013  
2 garren 1014 -------------------- HepMC-01-02-21 ---------------------------------
1015  
1016 2005-04-27 Matt Dobbs and Giorgos
1017 * src/IO_HERWIG.cxx implemented a bug fix suggested by borut,
1018 which keeps the remapping of daughters/motherrs from going "over
1019 the end" on herwig events (was noticed in the tauola events for
1020 rome DC).
1021  
1022 2004-08-04 David Quarrie <David.Quarrie@cern.ch>
1023  
1024 * cmt/requirements: Change dependencies on CERNLIB and CLHEP
1025 to AtlasCERNLIB and AtlasCLHEP to avoid name clashes
1026  
1027  
1028 -------------------- HepMC-01-02-19 ----(gcc 3.2 compatible)---------
1029  
1030  
1031 2004-04-22 Matt Dobbs <Matt.Dobbs@Cern.CH>
1032  
1033 * src/IO_HERWIG.cxx (HepMC): fixed bug reported by Hinchliffe in
1034 IO_HERWIG wherein (for the special case of min bias events only)
1035 number of entries in HEPEVT was being zero-ed by the IO_HERWIG
1036 class. Added extra protection in HEPEVT_Wrapper for this as well.
1037  
1038  
1039 -------------------- HepMC-01-02-18 ----(gcc 3.2 compatible)---------
1040  
1041 2004-03-27 Matt Dobbs <Matt.Dobbs@Cern.CH>
1042  
1043 Removed the #define statements that allow backwards compatibility
1044 with gcc 2.95, and specialized the 3.2 compliant iterators to be
1045 forward iterators such that they work properly with std
1046 algorithms.
1047  
1048 Thanks to Ulrik Egede for pointing this out.
1049  
1050 * HepMC/GenVertex.h, .cxx HepMC/GenEvent.h, .cxx: changed
1051 std::forward_iterator<GenParticle*,ptrdiff_t>
1052 to
1053 std::iterator<std::forward_iterator_tag,GenParticle*,ptrdiff_t>
1054 for standard
1055 compliance, and removed #define statements.
1056  
1057 * HepMC/IO_Ascii.h,.cxx: changed open_mode to openmode for standard
1058 compliance, and removed #define statements.
1059  
1060  
1061 2003-12-17 David Rousseau <droussea@lxplus072.cern.ch>
1062  
1063 * cmt/requirements: remove HepMC_libraries
1064  
1065 2003-10-22 Matt Dobbs <Matt.Dobbs@Cern.CH>
1066  
1067 * src/GenEvent.cxx and lots of other files + latex documentation.
1068 REmoved any mention of units--- GeV, MeV etc, since HepMC merely
1069 accepts whatever is put in. I do this because, though HEPEVT has
1070 used GeV/mm, ATLAS plans to use CLHEP units of MeV/mm.
1071  
1072 2003-10-15 Matt Dobbs <Matt.Dobbs@Cern.CH>
1073  
1074 * src/GenParticle.cxx (HepMC): added a default constructor for
1075 GenParticle as requested by Giorgos S.
1076  
1077 -------------------- HepMC-01-02-14 ----(gcc 3.2 compatible)---------
1078  
1079 2003-04-21 Matt Dobbs <Matt.Dobbs@Cern.CH>
1080  
1081 * src/IO_HERWIG.cxx:
1082 minor changes to handling of herwig event record
1083  
1084 -------------------- HepMC-01-02-11 ----(gcc 3.2 compatible)---------
1085  
1086 2003-03-10 Matt Dobbs <Matt.Dobbs@Cern.CH>
1087  
1088 * HepMC/IO_BaseClass.h:
1089 Fixed bug reported by Peter Loch, wherein the virtual destructor
1090 for IO_BaseClass was missing.
1091  
1092 -------------------- HepMC-01-02-10 ----(gcc 3.2 compatible)---------
1093  
1094 2003-03-03 Matt Dobbs <Matt.Dobbs@Cern.CH>
1095  
1096 * HepMC/GenVertex.h: added extra ifdef statement to allow
1097 compilation on gcc 3.2. (forward_iterator and open_mode problems).
1098 * HepMC/IO_Ascii.h: as above.
1099 * src/IO_Ascii.cxx (HepMC): as above.
1100  
1101 2003-01-17 Matt Dobbs <Matt.Dobbs@Cern.CH>
1102  
1103 * src/IO_PDG_ParticleDataTable.cxx (HepMC): if the PDG table does
1104 not exist, we abort, rather than just returning false.
1105  
1106 -------------------- HepMC-01-02-04 ----(5.0.0)------------
1107 2002-11-04 Matt Dobbs <Matt.Dobbs@Cern.CH>
1108  
1109 * src/GenEvent.cxx (HepMC): set_barcode(particle, barcode),
1110 set_barcode(vertex, barcode) Fixed a bug reported by Giorgos S.
1111 For this bug, a user suggests a barcode for a vertex that is
1112 already part of an event... the vertex is inserted in the vertex
1113 map with the new barcode, but HepMC forgets to erase the old
1114 entry... such that the vertex now appears twice in the map. This
1115 is fixed, and the corresponding error for particles is also fixed.
1116  
1117 2002-10-31 Matt Dobbs <Matt.Dobbs@Cern.CH>
1118  
1119 * HepMC/IO_HERWIG.h: modified IO_HERWIG to include a switch
1120 (default m_no_gaps_in_barcodes=on) which removes null entries from
1121 Herwig HEPEVT and reshuffles the common block
1122  
1123 2002-10-22 Matt Dobbs <Matt.Dobbs@Cern.CH>
1124  
1125 * HepMC/HerwigWrapper6_4.h, HepMC/HerwigWrapper.h: new interface
1126 to HERWIG Version 6.4 is added. There is an example for using it
1127 at examples/example_MyHerwig.cxx. To use this example you will
1128 have to download HERWIG version 6.4 and modify the Makefile to
1129 link it.
1130  
1131 * HepMC/IO_HERWIG.h: New class for reading the Herwig version of
1132 the HEPEVT common block is added. READ THE COMMENTS IN THE .h file
1133 carefully before using it!
1134  
1135  
1136 2002-07-29 Matt Dobbs <Matt.Dobbs@Cern.CH>
1137 -------------------- HepMC-01-02-03 ----(4.0.2)------------
1138  
1139 * src/GenVertex.cxx (HepMC): remove_particle()
1140 * HepMC/GenVertex.h:
1141 removed confusing comment about the use of GenVertex::remove_particle()
1142 in .h file, and clarified the comment in .cxx file.
1143  
1144 * src/GenEvent.cxx (HepMC): operator=
1145 bug discovered by <Malte.Muller@cern.ch>.
1146 Formerly, the GenEvent::operator= method relied on the particles
1147 attached to each vertex to always be in the same order. However,
1148 since the particles are stored in set<>, this is not always true
1149 -- making the results of the operator= method unreliable.
1150 This is fixed by mapping the vertices explicitly.
1151  
1152 * src/IO_PDG_ParticleDataTable.cxx (HepMC):
1153 added a line in read_entry that ignores empty lines (previously
1154 empty lines in the pdg data table generated a cerr message).
1155 This change was requested by Davida Costanzo.
1156  
1157  
1158 2002-03-02 Matt Dobbs <Matt.Dobbs@Cern.CH>
1159 -------------------- HepMC-01-02-02 ----(3.0.1)------------
1160  
1161 * src/GenVertex.cxx (HepMC):
1162 GenVertex::edge_iterator::edge_iterator( .. )
1163 Extra error protection added in the constructor.
1164 Sometimes the edge_iterator fails when we have a vertex with no
1165 in_particles. This never happens in standalone mode, but when ran
1166 with the ATLAS framework, it does happen. New code identifies the
1167 scenario explicitly, and catches the error, which has to do with
1168 the past-the-end value of the edge_iterator.
1169  
1170 * test/test_iterators.cxx: new test program added for iterators,
1171 to test for the above problems.
1172  
1173  
1174 2002-02-19 Matt Dobbs <Matt.Dobbs@Cern.CH>
1175  
1176 CHANGES TO ALLOW HEPMC TO COMPILE WITH SOLARIS CC 5.2
1177  
1178 * cmt/requirements: added the line
1179 macro_append cppflags "" Solaris " -D__SUNPRO_CC "
1180 to handle Solaris CC 5.2 features.
1181  
1182 * HepMC/ParticleDataTable.h:
1183 turns on MISSING_FORWARD_ITERATOR when __SUNPRO_CC is defined.
1184 This defines forward_iterator as iterator
1185  
1186 * HepMC/GenVertex.h:
1187 same as ParticleDataTable.h, but also turns on
1188 NEED_SOLARIS_FRIEND_FEATURE when __SUNPRO_CC is defined.
1189  
1190 * src/Polarization.cxx (HepMC):
1191 replaced abs() with theta = ( theta>0 ? theta : -theta );
1192 for compatibility with Solaris.
1193  
1194 2002-02-15 Matt Dobbs <Matt.Dobbs@Cern.CH>
1195 -------------------- HepMC-01-02-01 ----(3.0.0)------------
1196  
1197 * HepMC/GenEvent.h: bug discovered by <srinir@bnl.gov> with help
1198 from Paolo and Hong.
1199 The GenEvent::particle_iterator, const_particle_iterator,
1200 vertex_iterator, const_vertex_iterator
1201 had methods like:
1202 bool operator !=(const particle_iterator& a) const
1203 { return !(**this == *a); }
1204 which doesn't work because you are not allowed to de-reference
1205 the end() iterator [the above coding is a relic of the old
1206 walking iterators which did not inherit from
1207 forward_iterstor, and for which *end() was well
1208 defined.]
1209 The correct usage is:
1210 { return m_map_iterator == a.m_map_iterator; }
1211  
1212 Note: this does NOT affect the GenVertex::***_iterator's, since
1213 for those iterators *end() is well defined.
1214  
1215  
1216 2002-01-23 Matt Dobbs <Matt.Dobbs@Cern.CH>
1217 -------------------- HepMC-01-02-00 --------------------
1218 ( Public Version 1.2 )
1219  
1220 User manual, webpage, and public version updated.
1221  
1222 The CLHEP names branch, called HepMC-00-00-96-CLHEP, has
1223 been moved to the head of the main trunk in cvs, and commited.
1224 Thus the main trunk is the only development branch.
1225  
1226  
1227 2002-01-22 Matt Dobbs <Matt.Dobbs@Cern.CH>
1228 -------------------- HepMC-01-01-12 --------------------
1229  
1230 * src/GenEvent.cxx (HepMC): delete_all_vertices()
1231 modified the increment of the vertex iterator when looping over
1232 vertices for deletion.
1233 * src/GenVertex.cxx (HepMC): delete_adopted_particles()
1234 modified the increment of the particle iterator when looping over
1235 particles for deletion.
1236  
1237 2002-01-21 Matt Dobbs <Matt.Dobbs@Cern.CH>
1238 -------------------- HepMC-01-01-07 --------------------
1239  
1240 * HepMC/GenEvent.cxx (delete_all_vertices):
1241 Possible bug reported here by ATLfast group. Added extra error
1242 checking, and changed the deleting of the vertices such that each
1243 one is explicitly erased from the map.
1244  
1245  
1246 2002-01-18 Matt Dobbs <Matt.Dobbs@Cern.CH>
1247  
1248 More changes for Windoes MS Visual C++ compatibility:
1249  
1250 * HepMC/PythiaWrapper6_2.h, HepMC/PythiaWrapper6_152.h:
1251 included new wrapper methods like call_pyinit, which hide the
1252 funny syntax necessary to call fortran routines from C++.
1253 * examples/example_MyPythiaWithEventSelection.cxx:
1254 * examples/example_MyPythiaOnlyToHepMC.cxx:
1255 * examples/example_MyPythia.cxx:
1256 * examples/Benchmarks_f77/example_PythiaToLCWrite.cxx:
1257 modified to use the call_*** pythia methods.
1258  
1259  
1260 2002-01-15 Matt Dobbs <Matt.Dobbs@Cern.CH>
1261 -------------------- HepMC-01-01-06 --------------------
1262  
1263 * Makefile.standalone: updated to use cernlib 2001 and pythia6152
1264  
1265 * examples/example_UsingIterators.cxx:
1266 The input file was from the old non-barcodes version, and so
1267 didn't work. Replaced it with a proper input file.
1268  
1269  
1270 These changes suggested by Witold Pokorski <Witold.Pokorski@Cern.Ch> from
1271 LHCb to allow for Windows Visual C++ compliance. All of these changes are
1272 fully backwards compatible(!).
1273  
1274 * HepMC/GenEvent.h, HepMC/GenVertex.h: change forward_iterator to
1275 simply iterator (which in the STL standard apparently implies
1276 forward_iterator)
1277  
1278 In Visual c++, a for (int i ... ) {} statement does not scope out
1279 the i variable ... so had to modify the code to ensure no
1280 variables were used twice in the same method:
1281 * src/IO_Ascii.cxx (HepMC):
1282 in lines 155, 161, 175 "int i" is repeated
1283 in lines 293, 314, 321 "int i" is repeated
1284 in lines 293, 314, 321 "p" is repeated
1285 * src/IO_HEPEVT.cxx (HepMC):
1286 in lines 59,65,88 "i" is repeated
1287 in lines 118, 129 "p" is repeated
1288 * src/IO_PDG_ParticleDataTable.cxx (HepMC):
1289 in lines 80, 103, 124 "id_i" is repeated
1290 * src/GenVertex.cxx (HepMC):
1291 in lines: 64 and 72; 168 and 178; 195 and 201; 260 and 273;
1292 322 and 331 variable "part" is repeated
1293  
1294 * have verified all STL calls for set, map, less, greater, cout,
1295 endl, list, cerr, ios, iostream, flush are properly prefixed with
1296 std::
1297  
1298 * HepMC/GenEvent.h: bug fix:
1299 added a std::greater<int> qualifier to the m_map_iterator of the
1300 vertex iterators.
1301  
1302 * HepMC/GenVertex.h: bug fix:
1303 made the GenVertex::particle_iterator a friend of GenVertex.
1304  
1305 * HepMC/GenEvent.h, HepMC/GenVertex.h:
1306 move all of the friend class declarations
1307 into statements separate from the class declaration, i.e.
1308 class edge_iterator { ... };
1309 friend class edge_iterator;
1310 instead of
1311 friend class edge_iterator{ ... };
1312 Change all std::ptrdiff_t to ptrdiff_t
1313  
1314 * HepMC/IO_Ascii.h: ios::openmode changed to ios::open_mode in the
1315 constructor, for compatibility with windows Visual C++.
1316  
1317 * Change #include <iostream.h> to #include <iostream>
1318 Note: this will spoil compatibility with HPUX 10.2 CC.
1319  
1320  
1321 2001-11-29 Matt Dobbs <Matt.Dobbs@Cern.CH>
1322 -------------------- HepMC-01-01-05 --------------------
1323 * Fix typo in user manual "particle barcodes are positive"
1324  
1325  
1326 2001-11 Matt Dobbs <Matt.Dobbs@Cern.CH>
1327 -------------------- HepMC-01-01-04 --------------------
1328 * update user manual to explain barcodes. NO changes to code.
1329  
1330  
1331 2001-11-10 Matt Dobbs <Matt.Dobbs@Cern.CH>
1332 -------------------- HepMC-01-01-03 --------------------
1333 * cmt/requirements: jetset74 requirement removed, as requested by
1334 I.Hinchliffe.
1335  
1336 2001-11-04 Matt Dobbs <Matt.Dobbs@Cern.CH>
1337 -------------------- HepMC-01-01-02 --------------------
1338 * HepMC/GenVertex.h: removed merge_vertex() method.
1339  
1340 * HepMC/IO_HEPEVT.h:
1341 removed the merge_vertices possibility, but added a
1342 build_production_vertex possibility to build_end_vertex.
1343  
1344 -------------------- HepMC-01-01-01 --------------------
1345 * src/HEPEVT_Wrapper.cxx (HepMC):
1346 new method check_hepevt_consistency() added.
1347 new method zero_everything() added.
1348  
1349 2001-11-02 Matt Dobbs <Matt.Dobbs@Cern.CH>
1350  
1351 -------------------- HepMC-01-01-00 --------------------
1352 * src/IO_HEPEVT.cxx (HepMC):
1353 Modified such that the HEPEVT indices are used for the particle
1354 barcodes.
1355 * HepMC/IO_Ascii.h:
1356 Modifed to properly read/write the barcodes and the
1357 GenEvent new data members.
1358  
1359 Unique reference numbers called "barcodes" are added as data
1360 members to GenParticles and GenVertices.
1361 They are cross-referenced in GenEvent via a map<int,GenXXX>.
1362 The GenEvent::m_vertices container of vertices is then no longer
1363 necessary, so it is removed.
1364 The GenEvent::particle_iterator and GenEvent::vertex_iterator
1365 are updated to walk over the maps. The iterator change should be
1366 transparent to the user.
1367 Constant versions of both iterators are included.
1368 The old GenEvent::vertex_iterator was a typedef of the set:
1369 typedef std::set<GenVertex*>::iterator vertex_iterator;
1370  
1371 The maps get filled via the:
1372 set_barcode( GenXXX* x, int suggested_barcode )
1373 methods, which in turn are called only by the vertex and particle:
1374 GenVertex::set_parent_event_()
1375 GenPartcle::set_production_vertex_()
1376 GenPartcle::set_end_vertex_(}
1377  
1378 * HepMC/GenEvent.h:
1379 New data members and access methods are added for consistency with
1380 the HepUP standard, see hep-ph/0109068
1381 double GenEvent::m_event_scale
1382 double GenEvent::m_alphaQCD
1383 double GenEvent::m_alphaQED
1384  
1385 * src/IO_HEPEVT.cxx (HepMC): Fixed some const warnings with the
1386 GenEvent::vertex_iterator usage.
1387  
1388 2001-10-11 Matt Dobbs <Matt.Dobbs@Cern.CH>
1389  
1390 -------------------- HepMC-01-00-01 --------------------
1391 * cmt/requirements: changed use CERNLIB v2001 External to use
1392 CERNLIB CERNLIB-01-* External as per r.d.'s request
1393  
1394 2001-10-10 Matt Dobbs <Matt.Dobbs@Cern.CH>
1395  
1396 -------------------- HepMC-01-00-00 --------------------
1397 Identical to HepMC-00-03-08. This tag name follows atlas
1398 naming conventions ... increment the major tag when code is NOT
1399 backwards compatible. Since Atlas is moving from tag
1400 HepMC-00-01-12 (old atlas names) to HepMC-00-03-08 (clhep names)
1401 this change is not backwards compatible.
1402  
1403 2001-09-05 Matt Dobbs <Matt.Dobbs@Cern.CH>
1404 ------- below this line is tag HepMC-00-03-08 ----------
1405 (clhep names version to be used in atlas. The changes have not
1406 been made in the HepMC-00-01-** branch)
1407  
1408 * src/IO_HEPEVT.h (HepMC):
1409 * src/IO_HEPEVT.cxx (HepMC): When inconsistent info between
1410 mother and daughters is found in the
1411 IO_HEPEVT::build_production_vertex method, IO_HEPEVT will no
1412 longer merge_vertex (the 2001-03-29 "fix") by default. In order to
1413 get this behaviour you have to explicitly ask for it with the
1414 IO_HEPEVT::set_merge_vertex_switch() method.
1415  
1416 2001-09-05 Matt Dobbs <Matt.Dobbs@Cern.CH>
1417 * cmt/requirements: added to the CLHEP names branch (its just a
1418 direct copy of what is in the trunk ATLAS names).
1419  
1420  
1421 2001-07-17 Matt Dobbs <Matt.Dobbs@Cern.CH>
1422 (note: HepMC-00-01-24 is an accidental tag which should be ignored)
1423 ----- below this line is HepMC-00-01-23, HepMC-00-03-07 -----
1424  
1425 * src/GenVertex.cxx (HepMC):
1426 GenVertex::vertex_iterator::follow_edge_() added extra error
1427 checking for the very special-rare case where a particle might
1428 point to the same vertex for both production and end.
1429 Meant to handle Ian H.'s bug of 02 Jul 2001
1430  
1431 2001-06-28 Matt Dobbs <Matt.Dobbs@Cern.CH>
1432 -------------------- HepMC-00-03-06 --------------------
1433  
1434 * examples/GNUmakefile.in:
1435 updated the makefile to link to cernlib 2001 version of pythia.
1436 This involves a change -lpythia6136 to -lpythia6152 -lpythiad
1437 Note that for xample_MyPythiaWithEventSelection.cxx 1/100 or
1438 36/1000 events pass cuts (with 6.136 it was 3/100 or 37/1000).
1439  
1440 * HepMC/GenParticle.h: now has a parent_event() access method,
1441 which returns the parent_event of the particle's container
1442 vertex's event.
1443  
1444 2001-06-27 Matt Dobbs <Matt.Dobbs@Cern.CH>
1445  
1446 ---> Make the Vertex know which event it in in. <---
1447 * HepMC/GenVertex.h: added private data member m_event, public
1448 access method parent_event() and protected access method
1449 set_parent_event, which is only to be used by GenEvent. Thus
1450 GenEvent is made to be a friend of GenVertex.
1451 * HepMC/GenEvent.h, src/GenEvent.cxx (HepMC): added logic to
1452 GenEvent::remove_vertex and GenEvent::add_vertex. The vtx's
1453 m_event pointer is set to point back to the event.
1454  
1455 * HepMC/ParticleData.h:
1456 * HepMC/GenEvent.h:
1457 * HepMC/GenParticle.h:
1458 * HepMC/GenVertex.h: made method counter() protected. It was never
1459 intended as public, merely as a method for detecting memory
1460 leaks. If no-one complains (they shouldn't, it was commented
1461 "temporary for debugging") I'll remove it entirely later.
1462  
1463 2001-03-29 Matt Dobbs <Matt.Dobbs@Cern.CH>
1464  
1465 * src/IO_HEPEVT.cxx (HepMC):
1466 When m_trust_mothers_before_daughters=0, the vertex position is
1467 now filled. In ISAJET sometimes disjoint vertex structures exist,
1468 in this case a merger of vertices is done, which accounts for it.
1469  
1470 * HepMC/GenVertex.h:
1471 * src/GenVertex.cxx (HepMC):
1472 Added a void merge_vertex_contents( GenVertex* v_in );
1473 method which takes all the contents of v_in and places it in
1474 the vertex. It does not delete v_in, nor does it remove
1475 v_in from an event.
1476 It will mainly be used by IO_HEPEVT, but it is forseen that users
1477 may want to use it when reducing the overall size of the event
1478 (deleting intermediate vertices) such as will be done by atlas.
1479  
1480 2001-02-28 Matt Dobbs <Matt.Dobbs@Cern.CH>
1481  
1482 * Makefile.standalone:
1483 using
1484 HepMCdir = $(shell pwd)
1485 instead of
1486 HepMCdir = /afs/cern.ch/user/m/mdobbs/HepMC/myCheckoutV1.01
1487 for better portability.
1488  
1489 * src/GenVertex.cxx (HepMC): added extra protection to the
1490 GenVertex::edge_iterator::edge_iterator constructor to give
1491 sensible result for the special case when a vertex has incoming
1492 particles, but none outgoing and the user requests a children
1493 iterator. The old version would have
1494 m_set_iter points to m_particles_in.begin() and so the first
1495 dereference might be wrong.
1496  
1497 * HepMC/IO_HEPEVT.h: Two new switches are added to give more
1498 flexibility in handling the possible inconsistencies arrising
1499 from the bi-directional pointers in HEPEVT. The switches are:
1500 bool m_trust_mothers_before_daughters;
1501 bool m_print_inconsistency_errors;
1502 which are described by comments in the code. Also makes minor
1503 changes to src/IO_HEPEVT.cxx
1504  
1505 * HepMC/Typedef_Version0names.h:
1506 This header file added. It contains typedef statements which
1507 should allow the new version 1.XX class names to be used with code
1508 written with the old version 0.XX class names.
1509 If the user wants to take advantage of these typedefs he needs to
1510 define type variable HEPMC_SHORT_NAMES in his compiler options as
1511 follows: -DHEPMC_SHORT_NAMES
1512 or in his code using #define HEPMC_SHORT_NAMES
1513 Note that since the header file names also changed, this ALSO
1514 requires changing the include statements in the user code.
1515  
1516 * doc/latex_user_manual/physicist_visualization.eps
1517 fixed a mis-labelling in this figure... the labels were all
1518 shifted and intermingled... its now right. Unfortunately
1519 the mislabelled version appears in the CPC publication.
1520 also affects doc/latex_user_manual/HepMC_user_manual.ps
1521  
1522 ******************************************************
1523 Everything below this line corresponds to Version 1.01
1524 ******************************************************
1525  
1526 2001-01-11 Matt Dobbs <Matt.Dobbs@Cern.CH>
1527  
1528 * examples/example_UsingIterators.cxx:
1529 Changed the class IsFinalState such that a particle must have no
1530 end vertex AND have status==1 to be considered stable.
1531 Does not effect package, only this specific example.
1532  
1533 * HepMC/IO_BaseClass.h:
1534 Bug reported by Lynn Garren
1535 "There appears to be a problem with const-ness in HepMC/IO_BaseClass.h.
1536 I have made the following changes in order to compile HepMC 1.0
1537 with g++.
1538 virtual const GenEvent*& operator<<( GenEvent*& );
1539 becomes
1540 virtual GenEvent*& operator<<( GenEvent*& );
1541  
1542 virtual const ParticleDataTable*& operator<<( ParticleDataTable*& )
1543 becomes
1544 virtual ParticleDataTable*& operator<<( ParticleDataTable*& )
1545 In other words, I have made the const-ness match."
1546 ...
1547 These changes are implemented by Matt in the atlas repository.
1548  
1549 * HepMC/HEPEVT_Wrapper.h:
1550 Bug reported by Andreas Dell'Acqua
1551 HEPEVT_Wrapper::last_child
1552 HEPEVT_Wrapper::last_parent
1553 There methods were returning 0 when exactly one parent exists. This
1554 caused the number_children and number_parent methods to return 0
1555 every time there was exactly 1 parent/child. This error caused
1556 major problems in the IO_HEPEVT class, with the end result that
1557 the HEPEVT graphs were interpretted incorrectly [all particles are
1558 correctly interpretted, but their relationships are incorrect for
1559 the case where a particle has exactly ONE mother: in this case the
1560 particles appeared as orphans.]
1561 This bug was
1562 introduced in version HepMC-00-00-94, so it has been present for
1563 some time. This fix is for HEPEVT_Wrapper::last_child():
1564 // Returns the Index of the LAST child in the HEPEVT record
1565 // for particle with Index index.
1566 // If there is only one child, the last child is forced to
1567 // be the same as the first child.
1568 // If there are no children for this particle, both the first_child
1569 // and the last_child with return 0.
1570 // Error checking is done to ensure the child is always
1571 // within range ( 0 <= parent <= nhep )
1572  
1573 * src/IO_HEPEVT.cxx (HepMC):
1574 only comments in IO_HEPEVT::build_particle have changed. No change
1575 to code.
1576  
1577 ******************************************************
1578 Everything below this line corresponds to Version 1.0
1579 ******************************************************
1580  
1581 2000-11-10 Matt Dobbs <Matt.Dobbs@Cern.CH>
1582  
1583 MAJOR NAME CHANGES AFFECT ALMOST ALL FILES:
1584 GeneratorEvent --> GenEvent
1585 Particle --> GenParticle
1586 Vertex --> GenVertex
1587  
1588 user manual and online documentaion are updated to reflect this.
1589  
1590 * HepMC/PythiaWrapper6_152.h:
1591 A new wrapper for Pythia 6.1 is created to replace the old Pythia
1592 5.7 wrapper. It works with the versions of Pythia in both
1593 CERNlib2000 and CERNlib2001 (versions 6.136 and 6.152 and probably
1594 any Pythia 6).
1595 A pointer file:
1596 * HepMC/PythiaWrapper.h:
1597 is created so the used doesn't have to worry about pythia version
1598 numbers. A test file is located at:
1599 * test/test_PythiaWrapper.cxx
1600  
1601 All examples are updated to use Pythia 6.
1602  
1603  
1604 2000-11-09 Matt Dobbs <Matt.Dobbs@Cern.CH>
1605  
1606 * HepMC/WeightContainer.h:
1607 Created this class to house the weights in the vertex and event
1608 classes. It is just an interface to std::vertex<double>.
1609  
1610 The vertex class is modifid to use this. Required changes to:
1611 * HepMC/Vertex.h:
1612 * src/Vertex.cxx:
1613 * src/IO_Ascii.cxx (HepMC):
1614  
1615 ******************************************************
1616 Everything below this line corresponds to Version 0.94
1617 ******************************************************
1618  
1619  
1620 2000-07-05 Matt Dobbs <Matthew.Adam.Dobbs@Cern.CH>
1621  
1622 * HepMC/HEPEVT_Wrapper.h: Completely new wrapper for HEPEVT_Common
1623 is implemented. This wrapper treats the common as a series of
1624 bytes and interprets them "on the fly". The user can set the size
1625 (in bytes) of the integer and real numbers to be interpretted from
1626 HEPEVT, and also the total number of entries in HEPEVT. This
1627 allows the user to interface to two applications which use
1628 different HEPEVT definitions.
1629 Benchmarks: 1000 events pythia only 34 seconds.
1630 1000 events Pythia+HepMC(using this new wrapper) 40s
1631 on my particular machine. (extra time is 6 seconds.) Compare this
1632 to the extra 5 seconds reported in the HepMC user manual for the
1633 old HEPEVT wrapper ... so the difference is small compared to the
1634 old wrapper considering the added functionality.
1635 (all examples have been tested and they Run!)
1636  
1637 * HepMC/HEPEVT_Common.h: Deleted, this common is now defined
1638 inside HEPEVT_Wrapper.h
1639  
1640 * src/HEPEVT_Wrapper.cxx (HepMC): This file is created since it is
1641 necessary to instantiate the static members of HEPEVT_Wrapper in a
1642 .cxx file.
1643  
1644 * Makefile.Standalone: modified to build src/HEPEVT_Wrapper.cxx into
1645 the HepMC library
1646  
1647 * HepMC/IO_HEPEVT.h: Comment modified only so as to treat
1648 HEPEVT_Wrapper consistently.
1649  
1650 * examples/example_MyPythiaWithEventSelection.cxx: Modified to use new
1651 HEPEVT_Wrapper
1652  
1653 * examples/example_MyPythia.cxx: Modified to use new
1654 HEPEVT_Wrapper
1655  
1656 * examples/example_MyPythiaOnlyToHepMC.cxx (main): Modified to use new
1657 HEPEVT_Wrapper
1658  
1659 * PACKAGE: added linkset HepMC -lib:HepMC
1660 (Modified GNUmakefile.in to use libHepMC.so as HepMC linkset)
1661  
1662 2000-07-04 Matt Dobbs <Matthew.Adam.Dobbs@Cern.CH>
1663  
1664 * examples/GNUmakefile.in: $(top_srcdir) replaced by
1665 $(srcdir)
1666  
1667 * GNUmakefile.in (libHepMC.so_SRC): The location of src .cxx files
1668 is now explicitly specified with $(top_srcdir)/src/*.cxx
1669 This makefile now builds oth a shared library libHepMC.so and
1670 libHepMC.a (requested by Ian H.)
1671 * the initpydata.f routine is no longer compiled into the the
1672 HepMC library, but is still packaged with the other routines.
1673 The user needs to link to it explicitly. See the GNUmakefile.in
1674 in the examples directory for an example of how to do this.
1675 (requested by Ian H.)
1676 * ./src is replaced with $(top_srcdir)/src everywhere in the
1677 GNUmakefile.in
1678  
1679 Files changed this time:
1680 GNUmakefile.in, examples/GNUmakefile.in, Makefile.standalone,
1681 Changelog
1682  
1683 2000-05-18 Matt Dobbs <Matthew.Adam.Dobbs@Cern.CH>
1684  
1685 * HepMC/IO_BaseClass.h: There is now a fill_next_event method.
1686 - bool fill_next_event( GeneratorEvent* evt ) is a new abstract method
1687 which fills the passed event, and also returns true if successful.
1688 - GeneratorEvent* read_next_event() is now make concrete. it
1689 creates a new event, fills it using the above abstract method,
1690 and returns the event
1691 This change is backwards compatible since the method
1692 read_next_event() has identical behavior.
1693 Identical changes are made for the methods:
1694 - bool fill_particle_data_table( ParticleDataTable* pdt )
1695 - ParticleDataTable* read_particle_data_table()
1696 The methods are updated [ i.e. GeneratorEvent* read_next_event()
1697 is changed to bool fill_next_event( GeneratorEvent* evt ), etc. ]
1698 in:
1699 - IO_HEPEVT.h
1700 - IO_Ascii.h
1701 - IO_PDG_ParticleDataTable.h
1702 - IO_HEPEVT.cxx
1703 - IO_Ascii.cxx
1704 - IO_PDG_ParticleDataTable.cxx
1705 (This change requested by Ian Hinchliffe and Marjorie Shapiro.)
1706  
1707  
1708 2000-04-24 Matt Dobbs <Matthew.Adam.Dobbs@Cern.CH>
1709  
1710 * HepMC/HEPEVT_Wrapper.h: set_momentum and set_position now
1711 properly cast input doubles as type HEPEVT_Precision,
1712 previously they were hardwired as cast to double, this
1713 meant writing to real*4 hepevt would fail.
1714  
1715 ******************************************************
1716 Everything below this line corresponds to Version 0.91
1717 ******************************************************
1718  
1719 2000-04-11 Matt Dobbs <Matthew.Adam.Dobbs@Cern.CH>
1720  
1721 * doc/latex_user_manual/HepMC_user_manual.tex: User manual is
1722 updated to replect changes since V0.9
1723 - HEPEVT and position in [mm]
1724  
1725 2000-04-06 Matt Dobbs <Matthew.Adam.Dobbs@Cern.CH>
1726  
1727 * examples/example_MyPythia.cxx
1728 * examples/example_MyPythiaOnlyToHepMC.cxx
1729 * examples/example_MyPythiaWithEventSelection.cxx:
1730 By commenting out the initpydata call (which may be required on
1731 some systems to initialize the Pythia PYDATA block data as
1732 external) the MyPythia examples now run on HPUX (and still on
1733 Linux). Have not tested other platforms.
1734 * Makefile: HPUX with gcc requires the -lf library which contains
1735 the fortran intrinsic function.
1736  
1737 2000-04-05 Matt Dobbs <Matthew.Adam.Dobbs@Cern.CH>
1738  
1739 The changes below will have no effect on the user or package, they
1740 just serve to remove warnings when compiling.
1741  
1742 * HepMC/Vertex.h: 313:342:364: warning: unused parameter `enum
1743 ::HepMC::IteratorRange dummy_range' (all dummy range parameters
1744 now appear as particles_end( IteratorRange /* dummy_range */ ) )
1745  
1746 * src/IO_Ascii.cxx (HepMC): 506: warning: ANSI C++ forbids
1747 variable-size array `c' (the array is now declared as char* c =
1748 new char[key_length +1]; and deleted before returning)
1749  
1750 * HepMC/IO_PDG_ParticleDataTable.h: 53: warning: control reaches
1751 end of non-void function read_next_event()
1752 (this is a dummy function anyway -- return 0)
1753 * HepMC/IO_HEPEVT.h:55: (as above)
1754  
1755 * src/Flow.cxx (HepMC): 26: warning: default argument given for
1756 parameter 1 of `void ::HepMC::Flow::print(class ostream & = cout)
1757 const' (done)
1758  
1759 * HepMC/IO_HEPEVT.h:57: warning: base class `class
1760 ::HepMC::IO_BaseClass' should be explicitly initialized in the
1761 copy constructor (done)
1762 * HepMC/IO_Ascii.h: 98: (as above)
1763 * HepMC/IO_PDG_ParticleDataTable.h: 56: (as above)
1764  
1765 * HepMC/ParticleDataTable.h: 155: warning: suggest parentheses
1766 around assignment used as truth value (done)
1767  
1768 * src/IO_Ascii.cxx (HepMC): 37: warning: default argument given
1769 (removed default argument)
1770  
1771 * HepMC/Flow.h:21: warning: multiline `//' comment
1772 (added space after \ to remove compiler warning)
1773  
1774 * HepMC/Particle.h: removed =0 in the inline declaration
1775 inline void Particle::set_flow( int code_index, int code = 0 )
1776 (caused warning).
1777  
1778  
1779 2000-04-04 Matt Dobbs <Matthew.Adam.Dobbs@Cern.CH>
1780  
1781 * HepMC/HEPEVT_Wrapper.h: HepMC/HEPEVT_Common.h:
1782 replace the classes HEPEVT_BaseClass.h HEPEVT_Double2000.h
1783 HEPEVT_Double4000.h HEPEVT_Real2000.h HEPEVT_Real4000.h
1784  
1785 Using different classes for each of the HEPEVT common block
1786 varieties proved very troublesome - users had trouble and 4
1787 similar classes were being maintained. The new version uses only
1788 static methods and cannot be instantiated (logical since it has
1789 no data members). The HEPEVT common block is contained in the
1790 HepMC/HEPEVT_Common.h header. The precision and number of entries
1791 is specified using #define commands, default is double precision,
1792 2000 entries. The user will see only one change - the IO_HEPEVT
1793 constructor now has no arguments, so he need not define the
1794 any HEPEVT_XXX class. He may need to set the precision and number
1795 of entries. See the header for instructions, and
1796 examples/example_MyPythia.cxx for an example.
1797  
1798 example_MyPythia.cxx, example_MyPythiaOnlyToHepMC.cxx,
1799 example_MyPythiaWithEventSelection.cxx are modified to take this
1800 into account.
1801  
1802 * HepMC/IO_HEPEVT.h: This class now extracts information from the
1803 fortran HEPEVT common using HEPEVT_Wrapper instead of having to
1804 pass it a class which inherits from the obsolete HEPEVT_BaseClass.
1805  
1806 2000-04-03 Matt Dobbs <Matthew.Adam.Dobbs@Cern.CH>
1807  
1808 * HepMC/PythiaWrapper5_720.h: Credit for writing the wrapper is
1809 to Silvia Resconi.
1810 Inclusion of HEPEVT wrapper header file is not necessary --- hence
1811 removed.
1812  
1813 2000-03-31 Matt Dobbs <Matthew.Adam.Dobbs@Cern.CH>
1814  
1815 * HepMC/ParticleData.h: clifetime is now represented in [mm]
1816 instead of [cm] ... previously HepMC had internal inconsistencies
1817 in this --- it claimed to use [cm], but sometimes used [mm] (as
1818 when it read from HEPEVT, and othertimes used [cm] (as when it
1819 transformed a width into a lifetime. Now all is consitent and [mm]
1820 is used everywhere as it should be.
1821 * HepMC/Vertex.h: src/ParticleData.cxx:
1822 Changed comments which say clifetime is in [cm], to say
1823 clifetime is in [mm].
1824  
1825 * Makefile (CLHEPdir):
1826 Changed
1827 CLHEPdir = /afs/cern.ch/sw/lhcxx/specific/Linux/CLHEP/pro
1828 to
1829 CLHEPdir = /afs/cern.ch/sw/lhcxx/specific/@sys/CLHEP/dev
1830 to make it platform independent for CERN users.
1831 And some cosmetic changes to the Makefile.
1832  
1833 * HepMC/IO_BaseClass.h:
1834 Using the compiler options -ansi -pedantic cause this error:
1835 no match for `::HepMC::IO_Ascii & << ::HepMC::GeneratorEvent *&'
1836 Even though it recognizes:
1837 operator <<(::HepMC::IO_BaseClass &,
1838 const ::HepMC::GeneratorEvent *&) <near match>
1839 as the "best <near match>".
1840  
1841 To fix this I make operator<<, operator>> members of the
1842 IO_BaseClass rather than friends, and I add versions where the
1843 argument of operator<< is not constant.
1844 This will not affect users in any way (unless they were using
1845 these compiler options, in which case HepMC didn't work anyway...)
1846  
1847 2000-02-16 Matt Dobbs <Matthew.Adam.Dobbs@Cern.CH>
1848  
1849 * GeneratorEvent.h: set_signal_process_vertex() modified to ensure
1850 that any vertex specified as signal process is ALSO in the
1851 m_vertices set.
1852  
1853 * This change log documents changes since Version 9 of HepMC was
1854 "released" February 11, 2000
1855  
1856 pre 2000-02-16 Matt Dobbs <Matthew.Adam.Dobbs@Cern.CH>
1857 Changes Before Version 0.9 (i.e. changes in going from V0.1 -->0.9)
1858 HepMC improvements:
1859 +backup V0.1 (done)
1860 +save particle data as id in Particle (done)
1861 +update IO strategies (done)
1862 +test (done)
1863 +backup (done)
1864 -change set<Vertex*> in event to include all vertices (done)
1865 +change iterators to reflect this (done)
1866 +update IO strategies (done)
1867 +test (done)
1868 -fix all operator= to first destruct dependents. (done)
1869 -access functions to iterate over all flows (done)
1870 -check for stl namespace (done)
1871 grep -n cout HepMC/*.h src/*.cxx | grep -v std::cout |
1872 less
1873 -add Hepevt:write event (done)
1874 -implement lujet strategy (not done!)
1875 -update documentation -- enumerating recent changes. (done)
1876 -user manual written
1877