SSO Logout

Subversion Repositories hepmc

Rev

Rev 201 | Rev 205 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

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