hepmc - Blame information for rev 511

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