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 |