SSO Logout

Subversion Repositories hepmc

Rev

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

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