hepmc - Blame information for rev 186

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