hepmc - Blame information for rev 340

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