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