hepmc - Blame information for rev 432

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