Page MenuHomeHEPForge

No OneTemporary

This document is not UTF8. It was detected as ISO-8859-1 (Latin 1) and converted to UTF8 for display.
diff --git a/ChangeLog b/ChangeLog
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,2622 +1,2622 @@
2006-08-09 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Cuts/Cuts.cc: Ticket #48: Fixed bug where maxS always returned
zero.
2006-08-08 Peter Richardson <Peter.Richardson@durham.ac.uk>
- * Cuts/Cuts.cc (Repository): Fix to correctly used the MultiCuts objects
+ * Cuts/Cuts.cc: Fix to correctly used the MultiCuts objects
when testing if a phase-space point passes the cuts.
2006-08-07 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* PDF/PDFBase.xh: PDFRange exception class now inherits from
Exception rather than from InterfaceException. +
* PDF/LHAPDF.*: It is now possible to set the PDF by number rather
than by file name and member. Using the index file it is now also
possible to check x and Q2 ranges before calling the LHAPDF
library, so that we can use our own strategy.
* PDF/LHAIndex.txt: Added index file to correlate PDF numbers,
members and file names in LHAPDF. Hopefully this will be obsoleted
in future versions of LHAPDF.
* LesHouches/MadGraphReader.*: Modified slightly the creation of
cut objects in the intialization.
* LesHouches/LesHouchesReader.cc: Fixed check if theCuts was set
to avoid segmentation fault.
* LesHouches/LesHouchesReader.*: Started adding functions to
create PDFin objects in the initialization (variable doInitPFDs,
functions preInitialize() and initPDFs() and doini()).
* LesHouches/MadGraphReader.cc, LesHouches/LesHouchesReader.cc,
LesHouches/LesHouchesEventHandler.cc, LesHouches/LesHouches.*:
Fixed typo NRUP -> NPRUP
* acinclude.m4: Changed AC_FC_LIBRARY_LDFLAGS to
AC_F77_LIBRARY_LDFLAGS and FCLIBS to FLIBS since the former had
problems with linking the 'main' function several times if
gfortran was installed.
2006-07-28 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* LesHouches/MadGraphReader.*: Introduced InitCuts Switch. If set
the MadGraphReader will be pre-initialized and will extract cut
information from the event file and construct and add the relevant
cuts objects. Not tested.
* LesHouches/LesHouchesEventHandler.cc: Now uses Throw class for
some exceptions.
* Repository/EventGenerator.cc: Modified printout of exception if
something was thrown in the initialization.
* Repository/EventGenerator.*: Added preprintRegister() to
introduce new objects in the pre-init phase (similar to
preinitCreate(), but the calling function creates the object
itself.
* Utilities/Throw.h, Utilities/Makefile.am, Utilities/Exception.h:
Added Throw class to facilitate the thowing of Exception
objects. An embryo of this class was before in
Utilities/Exception.h but has been removed.
* src/Makefile.am: Added valgrind target to do memory checks.
2006-07-27 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* java/RunFrame.java: Now uses '--tics' option for runThePEG.
* src/runThePEG.cc: Added '--seed' and '--tics' options which
eventually will replace the '-seed' and '-tics' ones.
* PDT/MatcherBase.h: Made pointers in sets of ParticleData and
ParticleMatcher transient to avoid circular dependence on
reference counted pointers.
* PDF/LeptonLeptonRemnant.h: Made pointer to photon object
transient to avoid possible circular dependence on reference
counted pointers.
* Handlers/XComb.h: Made pointers to PartonExtractor and Cuts
transient to avoid circular dependence on reference counted
pointers.
* Handlers/StandardXComb.h: Made pointer to SubProcessHandler
transient to avoid circular dependence on reference counted
pointers.
2006-07-26 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Repository/EventGenerator.h: Changed the behavior of the
doinit() function so that objects which returns true from their
preInitialize() function are initialized first in a special
pre-initialization phase. In this phase the initialized objects
may use some special preinit functions to add new objects
(using eg. preinitCreate()) to the run, or manipulate the
interfaces of the ones which are there (using eg.
preinitInterface()). Note that this functionality has not been
proprtly tested yet - it does compile though...
* PDT/ParticleData.h, PDT/DecayMode.h: EventGenerator is now a
friend.
* Interface/InterfacedBase.h: EventGenerator is now a friend.
Added member function state() which returns the initialization
state of an object. Added virtual member function preInitialize()
which by default returns false. If it returns true for an object
this will be handled first in the initialization of an Event
handler in a special pre-initialization step. In this case the
object may use the special 'preinit' functions in the
EventGenerator when executing its doinit() function.
2006-07-25 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* CLHEPWrap/HepMCConverter.*, CLHEPWrap/HepMCTraits.h,
CLHEPWrap/Makefile.am, src/runEventLoop.cc, src/Makefile.am:
Rewrote the GenEventConverter to be completely templated and
independent on which HepMC version is used. The new class is
called HepMCConverter and uses the HepMCTraits class for all
interactions with the HepMC classes. Different flavours of HepMC
may need to specialize the HepMCTraits class in different ways. By
inheriting from HepMCTraitsBase you will automatically get the
interface to the HepMC version in CLHEP. In src/runEventLoop.cc
(which is now included in the distribution) there is an example of
how to use HepMCConverter. runPartial.cc is no longer included in
the distribution.
* PDF/LHAPDF.*: the interface to the LHAPDF library can now be
compiled, set up and run, and seems to give correct results.
* src/Makefile.am: Fixed minor bug in USELHAPDF conditional.
* Config/Makefile.am: config.h is no longer included in the
distribution.
* include/Makefile.am: Config directory is no longer linked,
instead it is creates a proper directory and links the individual
header files. This is because config.h needs to be linked from the
build directory while the others are linked from the source
directory. This probably need a better solution.
* Config/std.h: Now includes <sstream> and imports the
stringstream classes to the ThePEG namespace.
* Utilities/sstream.*, Utilities/Timer.cc, Utilities/Makefile.am,
Utilities/Exception.h, Utilities/Debug.cc, configure.ac,
MatrixElement/ColourLines.cc, Persistency/PersistentIStream.cc:
Removed sstream.h wrapper around the old libg++ strstream
header. ThePEG now assumes that all supported compilers has a
compliant standard library with a standard <sstream> header.
2006-07-25 Peter Richardson <Peter.Richardson@durham.ac.uk>
* EventRecord/Step.cc (Repository): Added check to prevent
double attachment of incoming partons to hadrons and some tests
to prevent illegal boosts in CLHEP
2006-07-24 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* src/TestLHAPDF.*: Added Main class and setup file to test the
LHAPDF classes.
* src/ThePEGDefaults.in: Added /LHAPDF directory with token LHAPDF
object to get doxygen output on the interfaces (this should work
even if the LHAPDF library is not installed).
* src/Makefile.am: Added TestLHAPDF test to the check and
install-check targets, but made it conditional on USELHAPDF.
* PDF/LHAPDF.cc: Fixed bugs: xfx() and xfvx() had the wrong
signatures and didn't override the base class virtual functions;
Forgot to set lastX and lastQ2 to avoid unnecessary calls to the
LHAPDF library.
* configure.ac: Added USELHAPDF flag for automake generation of
Makefiles.
* PDF/LHAPDF.cc: Removed double implementation of dummy function
evolvepdfm_().
* acinclude.m4: Ticket #45. Fixed bug where temporary LIBS
variable for checking LHAPDF was not reset if check failed.
* configure.ac, acinclude.m4: Added test to see if the LHAPDF
library is installed. If so the ThePEG_HAS_LHAPDF is set and both
libLHAPDF.so and the fortran runtime libraries are included in the
linking.
* src/TestLHAPDF.in: File to test LHAPDF class. Not used in 'make
check' yet.
* PDF/LHAPDF.*, PDF/Makefile.am: Added class to interface the
LHAPDF library. Compiles, and the objects can be set up, but have
not tried to run it. DO NOT USE YET.
2006-07-22 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Handlers/SubProcessHandler.h: Declared clone functions
non-inlined since they weren't.
* src/setupThePEG.cc: Added --exitonerror option. Also added
'--init' and '--java' options which eventually will replace the
'-init' and '-java' arguments.
* src/Makefile.am: Now uses --exitonerror argument for
setupThePEG. And long '--init' argument when initializing the
repository.
* java/SetupThePEG.java: Now uses long '--java' argument when
startin setupThePEG.
* Repository/Repository.*: Added static variable accessible from
exitOnError() which, if non-zero, will call exit with an error
code if any error was encountered during read(). Also added a
command 'EXITONERROR' which sets exitOnError() to one.
* ACDC/ACDCGen.icc: Fixed bug where allocated primary ACDCGenCell
objects were not deleted in destructor.
* Persistency/PersistentIStream.*: Fixed bug where
InputDescription objects created when reading were not deleted in
the destructor.
* StandardModel/StandardModelBase.*: Added access function to get
a pointer to the CKMBase object.
2006-07-21 David Grellscheid <David.Grellscheid@durham.ac.uk>
* Analysis/Makefile.am: added VariAxis.h to LWHHEADERS
2006-07-20 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Analysis/VariAxis.h, Analysis/HistogramFactory.h,
Analysis/Histogram1D.h, Analysis/FactoryBase.*,
Analysis/AIHistogramFactory.h: Added a VarAxis class in LWH to
allow Histogram1D to have variable sized bins. This seems to work,
although the resulting AIDA XML file is not interpreted properly
by JAS3.
2006-07-19 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Handlers/StandardXComb.cc: Fixed bug where the rapidity reported
to eg. the Cuts object was reversed. Also fixed bug where the
"post-cut" checking of the SubProcess was made in the collision
frame rather than in the SubProcess cm frame.
* MatrixElement/ME2to2Base.cc: The phase space generation now
takes into account possible rapidity cuts. Compiles and runs but
should be tested more.
2006-07-19 David Grellscheid <David.Grellscheid@durham.ac.uk>
* configure.ac: more automated OS X variable detection didn't
work, back to previous version
2006-06-30 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* StandardModel/O1AlphaS.*: flavourThresholds() now returns an
ordered set of scales. New interface FreezeScale controlls below
which scale the alpha_S is frozed to avoid divergencies and
negative coupling. LambdaQCDs() now returns Lambda_0 in the zeroth
place. The Interface LambdaQCD is now only limited from below.
* StandardModel/AlphaSBase.icc: The LambdaQCD(unsigned int) now
also returns Lambda_0 for the case of no active flavours.
2006-06-24 David Grellscheid <David.Grellscheid@durham.ac.uk>
* Repository/EventGenerator.cc: ieve added to copy
constructor; undefined value was written into the repository
2006-06-15 David Grellscheid <David.Grellscheid@durham.ac.uk>
* Repository/EventGenerator.{h,cc}: Added signal handling
functionality to call finalize() when SIGINT, SIGHUP or SIGTERM are
received.
* configure.ac: more automated OS X variable detection
2006-06-14 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* StandardModel/StandardCKM.cc: Fixed wrong member variable in
theta_23 interface.
* Repository/EventGenerator.cc, Analysis/Tree.h,
Analysis/FactoryBase.h, Analysis/Axis.h: Fixed doxygen comments.
2006-06-13 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Analysis/Tree.h, Analysis/Histogram1D.h: Modified flat output to
have title on the end within quotes in the histogram header and
chaged the output order of the points to "bin-mean-x", "y",
"delta-y", "number of entries".
* include/Makefile.am: All needed subdirectory links are now
separate targets.
* Handlers/AnalysisHandler.*: Added function to check if the
EventGenerator has a histogram factory.
* Analysis/FactoryBase.*: Added member function to create
histogram with separate title.
2006-06-12 Peter Richardson <Peter.Richardson@durham.ac.uk>
* CLHEPWrap/LorentzRotation.icc: fix to setRotateZ which was rotating
about y but wasn't used anywhere
* Handlers/StandardEventHandler.h change to get the right Interfaces in the
Doxygen documentation
2006-06-11 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* java/Makefile.am: Changed the name 'thepeg.sh' to 'thepeg' for
the script which is catually installed, while keeping 'thepeg.sh'
as name of the script in the local directory.
* Repository/EventGenerator.cc: Now correctly includes
FactoryBase.h instead of old HistogramFactory.h
2006-06-07 David Grellscheid <david.grellscheid@durham.ac.uk>
* java/Makefile.am: Changed name 'thepeg' to 'thepeg.sh' to avoid
capitalization clash on OS X. With this, ThePEG works on OS X.
2006-06-07 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Analysis/FactoryBase.*: Added function cd() to change directory
in the underlying AIDA::ITree.
* Analysis/LWHFactory.*, Repository/EventGenerator.*,
Handlers/AnalysisHandler.*, Analysis/FactoryBase.*: Changed the
name from HistogramFactory to Factory base to avoid name clash
with updated LWH.
2006-06-05 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* PDF/PartonExtractor.*: The constructRemnants() function now
throws a veto if remnants could not be created.
* Utilities/CFileLineReader.h: Added function to enable re-reading
of the current line.
* LesHouches/MadGraphReader.cc: Fixed the workaround where
MadGraph for some reason includes empty lines in the middle of the
header block.
Also fixed bug when MadGraph events have been unweighted and we
before read the wrong number of events.
Sometimes MadGraph exchanges the colour and anti-colour
lines. Introduced hack to try to notice this and fix it.
* LesHouches/LesHouchesEventHandler.cc: Renamed interface
LesHoushesReaders -> LesHouchesReaders
2006-06-03 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Analysis/HistFactory.h: Fixed histogram name/title confusion.
2006-06-02 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Handlers/AnalysisHandler.*: Added function to normalize
histograms according to the collected cross section statistics.
* Analysis (LWH classes): Fixed some bugs and improved output
files.
2006-06-01 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Handlers/AnalysisHandler.: Added utility function to access the
HistogramFactory in the current run.
* Repository/EventGenerator.*: The EventGenerator may now have a
HistogramFactory associated with it.
* configure.ac, Makefile.am, include/Makefile.am, lib/Makefile.am:
Added the Analysis directory.
* Analysis: Added Analysis directory with the classes
HistogramFactory, an abstract base class for handling histograms
using the AIDA interface, and LWHFactory a concrete class
interfacing the light-weight histogram package LWH which
implements a small part of the AIDA interface.
LWH is also included in this directory.
2006-05-22 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* EventRecord/Step.*: Added optional boolean argument for checking
the consistency of the parents in the Step in templated
addDecayProducts(Iterator firstParent, Iterator lastParent, tPPtr
child, bool checkfinal). Default is true, which is also the
previous behavior.
2006-05-18 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Repository/StandardRandom.cc, Repository/RandomGenerator.cc:
Make sure the cache is flushed when the random generator is
initialized or when a new seed is given.
2006-05-17 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* EventRecord/Step.cc: Fixed addIntermediate(s) functions to
remove the given particle from the list of final state ones if
present.
2006-05-16 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* PDF/PartonExtractor.*: Fixed bug by adding argument to internal
construct method to determine whether the produced remnants need
boosting.
* PDF/RemnantHandler.*, PDF/BaryonRemnants.*: Changed name from
createRemnants to boostRemnants, since that is what the method
actually does.
2006-05-12 David Grellscheid <David.Grellscheid@durham.ac.uk>
* Interface/Parameter.tcc: Added default initialization for
template Type.
* Interface/InterfacedBase.h, Interface/Interfaced.{h,icc}:
Removed Interface functions that only call InterfacedBase. Added
documentation across to InterfacedBase.
* Interface/Interfaced.{h,icc}: Added setGenerator() protected
function. This is required for the automatic Decayer generator in
BSM Herwig++.
2006-04-26 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* */*.cc: Ranked interfaces and made minor improvement of
ClassDocumentation objects for demonstration at DIS06.
* java/Reference.java, java/RefVector.java, java/ObjectFrame.java:
Improved look-and-feel for reference interfaces.
2006-03-09 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* LesHouches/LesHouchesEventHandler.cc: Fixed skipEvents() for
negative weights (Ticket #31).
2006-03-09 David Grellscheid <David.Grellscheid@durham.ac.uk>
* Utilities/Math.icc, Repository/EventGenerator.h: Fixes for gcc-4.1.0
* LesHouches/LesHouchesEventHandler.cc: Fixed unitnegweight
problem (Ticket #30)
2006-03-08 David Grellscheid <David.Grellscheid@durham.ac.uk>
* LesHouches/LesHouchesReader.cc, LesHouchesEventHandler.cc: Fixed
meanskip value for cases where all events should be read from the
file, and redundant double connection between parent/child.
2006-02-22 Peter Richardson <Peter.Richardson@durham.ac.uk>
* Helicity/LorentzTensor.h (Repository): added trace member
2006-02-20 Peter Richardson <Peter.Richardson@durham.ac.uk>
* MatrixElement/ME2to2Base.icc (Repository): change so that inheriting classes can set phi, uHat and tHat.
2006-02-20 Peter Richardson <Peter.Richardson@durham.ac.uk>
* StandardModel/SimpleAlphaEM.cc (Repository): change so that for small q2 alpha(0) is returned rather than 0.
2006-02-16 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* java/SetupThePEG.java, java/ObjectFrame.java: Modified to show
interfaces better in documentation.
* Doc/fixinterfaces.pl.in, LesHouches/MadGraphReader.cc,
Cuts/OneCutBase.h, Cuts/SimpleDISCut.cc, Cuts/SimpleKTCut.h,
src/ThePEGDefaults.in, LesHouches/MadGraphOneCut.h: Fixed doxygen
documentation of interfaces.
* MatrixElement/Makefile.am: Cleaned up mixed dependencies.
2006-02-15 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* *** GLOBAL ***: Joined in changes from the cuts-devel branch.
* *** GLOBAL ***: Joined in changes from the Java-devel branch.
* Interface/InterfacedBase.h, Interface/Interfaced.h: Removed the
'pure abstract' qualifiers on the doupdate, doinit,
etc. functions.
* lib/ThePEG.el: Changed ThePEF-class-files so that the standard
InterfacedBase virtual functions (doupdate, doinit, ...) are not
included from start. They can be added afterwards with
ThePEG-interfaced-decl and ThePEG-interfaced-impl functions.
* PDT/ParticleData.cc: Fixed bug in stable(bool) function.
2006-02-09 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* lib/ThePEG.el, Utilities/ClassTraits.h: Documented better the
possibility to list several dynamic libraries in the
ClassTraits<T>::library() function.
2006-02-09 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* PDF/BaryonRemnants.*: Implemented defaultInit() function to
create default ZGenerator, PtGenerator and FlavourGenerator
objects.
* LesHouches/LesHouchesReader.*: Still not quite ready with the
scanPDF() function.
* Interface/Interfaced.*: Added a defaultInit() function and a
corresponding Command interface. defaultInit() can be implemented
by sub-classes to automatically create objects for mandatory
references. Also introduced reporeg() and setDefaultReference()
functions to help sub-classes with this.
2006-02-08 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Utilities/CFileLineReader.*: Fixed bug in opening plain files
(they were never assigned to a file handle). Also fixed bug in
skip() function (didn't actually skip the character found).
* LesHouches/MadGraphReader.*: Fixed some bugs when reading
MadGraph version 3 files.
* LesHouches/LesHouchesReader.*: Introduced command interface to
automatically deduce which PDFs was used for the generation. Not
quite working yet (still need to fix remnant handlers).
2006-02-07 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* LesHouches/LesHouchesEventHandler.cc,
Handlers/StandardEventHandler.cc: Fixed so that theLastXComb is
always set for the CKKWHandler().
2006-02-06 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* src/runThePEG.cc, Repository/EventGenerator.*,
EventRecord/Particle.cc: Davids bug fixes to the setting of life
lengths introduced the usage of UseRandom when it wasn't set. I
had to fix things in the persistentOutput function in Particle and
let the EventGenerator class be responsible for loading Main
classes rather than the runThePEG program itself.
* Repository/EventGenerator.cc: Removed the upper limit for
MaxErrors altogether. Also did the same for other parameters.
2006-02-05 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* LesHouches/MadGraphReader.*: Finished functions for scanning
cuts. It now seems to work OK.
* LesHouches/MadGraphOneCut.cc: The CutType interface is no longer
read-only.
* Cuts/Cuts.h: Added public functions to add one- two and
multi-cut objects
* LesHouches/LesHouchesReader.*: The Cuts interface is now
nullable.
* Repository/BaseRepository.*: Fixed bug in Rename() to avoid more
than one object with the same name. Also renamed the function
GetObjectsReferingTo to GetObjectsReferringTo.
2006-02-03 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* LesHouches/MadGraphOneCut.*, LesHouches/MadGraphTwoCut.*: New
classes to be used by MadGraphReader to implement cuts.
* Cuts/OneCutBase.*: Added minimum of maximum functions.
* LesHouches/MadGraphReader.cc: Added command interface extracting
cuts from MadGraph version 3 event files.
2006-02-02 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* LesHouches/MadGraphReader.cc: Preparing for extracting cuts from
MadGraph version 3 event files.
* MatrixElement/Tree2toNDiagram.cc: Modified according to the
changes in XComb.
* MatrixElement/ReweightMinPT.cc: Modified according to the
changes in XComb.
* LesHouches/LesHouchesReader.*, LesHouches/LesHouchesEventHandler.*:
Modified according to the changes in XComb.
* Handlers/StandardXComb.*, Handlers/XComb.*,
Handlers/LastXCombInfo.*: Instead of just having access to the
incoming and outgoing partons in the generated sub-process XComb
now have access to the full SubProcess object if it has been
provided. LastXCombInfo and Standard XComb has been modified
accordingly.
* EventRecord/Collision.cc: Adding a SubProcess, now sets its
pointer to this collision if none was provided before.
2006-02-01 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* MatrixElement/ReweightBase.*, MatrixElement/ReweightConstant.*,
MatrixElement/ReweightMinPT.*: Reweighting now only use
information in the LastXCombInfo. All other functions for setting
kinematics has been removed. ReweightMinPT was added to the
makefile and has now a scale parameter.
* MatrixElement/MEBase.*: Fixed proper initialization of
LastXCombInfo in ctor. Also introduced functions for returning
alpha_S and alpha_EM.
* LesHouches/LesHouchesReader.*: Now inherits from LastXCombInfo,
and information to (p)reweighting is conveyed with the XComb
object.
* Handlers/StandardXComb.*: Changes from XComb. Initialization of
mePartons still doesn't work...
* Handlers/XComb.*, Handlers/LastXCombInfo.*: XComb now has
information of the last alpha_s and alpha_ME. Also moved the
mePartons() here from StandardXComb and added corresponding
initialization function.
* Handlers/CascadeHandler.cc: Fixed proper initialization of
LastXCombInfo in ctor.
* LesHouches/LesHouchesReader.*, Handlers/XComb.*,
Handlers/SubProcessHandler.*, Handlers/StandardXComb.*,
Handlers/StandardEventHandler.*, Handlers/LastXCombInfo.*,
Handlers/EventHandler.*, Handlers/CascadeHandler.*: Started
implementing CKKW rewighting infrastructure. Not quite working
yet.
2006-01-31 David Grellscheid <David.Grellscheid@durham.ac.uk>
* Repository/EventGenerator.cc: Increased upper limit for
MaxErrors to 100000.
* PDT/ParticleData.cc, EventRecord/Particle.cc: Bugfixes to
correct the setting of life lengths. Displaced vertices now work.
2006-01-31 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Repository/EventGenerator.cc): Indicated that the Path parameter
corresponds to a directory.
* LesHouches/LesHouchesFileReader.cc: Indicated that the FileName
parameter corresponds to a file.
* Interface/Parameter.*: Added option to indicate that a string
parameter corresponds to a file or a directory.
2006-01-29 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Repository/EventGenerator.cc: Modified format of optional
printout of event number.
* Repository/Repository.*: Added command to save a run to a
specific file.
2006-01-28 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Repository/Repository.*: Added command to remove a run.
2006-01-27 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* src/runThePEG.cc, Repository/MultiEventGenerator.*,
Repository/EventGenerator.*: Added run-time option to write out
event number at suitable intervals. Also added possibility to read
a run file from standard input and to execute runThePEG remotely
with ssh.
2006-01-21 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Repository/EventGenerator.*: Added command interfaces to make
and save event generator runs.
* Repository/Repository.cc: Fixed bug in makerun command.
* Repository/BaseRepository.*: Added commands to describe classes
and to get base classes.
* configure.ac, acinclude.m4: Cleaned up configure script.
2006-01-20 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Makefile.am, configure.ac: Fixed checks and conditional
compilation for the java GUI.
2006-01-17 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* lib/ThePEG.el: Preliminary fix of the ParVector emacs macro. It
now works in a simple case, but it probably needs more testing.
... and I did some more testing and slight modifications. It
should now be stable.
2006-01-16 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Repository/BaseRepository.cc: Added commands to append
libraries.
* Utilities/DynamicLoader.*, Persistency/*: The persistent streams
now remembers which library paths were added to search for dynamic
libraries.
* PDT/DecayMode.cc: Mad the Decayer interface non-nullable.
2006-01-15 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Repository/BaseRepository.cc: Added "check" command and fixed
"rcp" command.
2006-01-13 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* PDT/ParticleData.*, PDT/ConstituentParticleData.*,
PDF/BeamParticleData.cc: Added ranking of interfaces and fixed the
limits of parameters.
* Interface/Parameter.*: Fixed output from fulldescribe to handle
unlimited parameters reasonably.
* Repository/BaseRepository.*, Interface/InterfaceBase.*: Added
facility for ranking interfaces. This is used to sort interfaces
for UIs.
* Utilities/DescriptionList.h: Added possibility access map of all
classes.
* Utilities/ClassDescription.*: Added possibility to ask a
CLassDescription whether it is abstract or not.
* Repository/BaseRepository.cc: Added lsclass command to list
concrete (sub)classes.
2006-01-12 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* MatrixElement/ME2to2QCD.cc: Fixed bug where jacobian was applied
twice for 2->2 QCD MEs resulting in completely wrong cross
sections.
2006-01-11 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* MatrixElement/ME2to2QCD.cc: Fixed serious bug where the
jacobian() was applied twice for QCD matrix elements giving
completely wrong results.
2006-01-08 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* PDT/ParticleData.cc: Fixed typos in documentation.
* Interface/Switch.tcc: Fixed throwing of exception if calling
get() for a read-only switch. Moved the exception to the set()
function, where it belongs.
2006-01-06 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Interface/Switch.*, Interface/Reference.*, Interface/RefVector.*:
Implemented fullDescription functions.
2006-01-05 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Repository/RandomGenerator.cc: Fixed error when compiling with
gcc-3.3.1 complaining about different types in call to templated
min function in setSize().
2006-01-01 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* lib/ThePEG.el: Fixed bug when creating .fh file for classes not
in the ThePEG namespace.
* src/setupThePEG.install: added VERSION="" to avoid problems when
VERSION is set during 'make distcheck'.
2005-12-21 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Utilities/Exception.h: Added new Throw class to encapsulate the
throwing of exceptions.
* MatrixElement/ME2to2Base.cc: Temporary changes trying to figure
out what goes wrong here.
* Handlers/StandardXComb.cc: Temporarily removed unnecessary call
to MEBase::generateKinematics().
* Handlers/ACDCSampler.cc: Added more info to log file in
dofinish().
2005-12-12 David Grellscheid <David.Grellscheid@durham.ac.uk>
* PDT/DecayMode.h: rebind() is not an inline!
2005-12-01 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* EventRecord/Step.h, EventRecord/Particle.h: Fixed the
documentation for the colour neighbour methods. Before the
documentation had reversed the colour and anti-colour.
2005-11-11 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Utilities/CFileLineReader.icc: Fixed bug in skip(), now also
skips the character searched for.
* LesHouches/MadGraphReader.cc: Fixed bug in spelling 'Number of
Events' when scanning MadGraph file header.
2005-11-07 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Utilities/CFileLineReader.cc: Fixed bug in open function where
the filehandle from the std::fopen call was not stored properly
(thanks to Simon Plaetzer).
2005-10-14 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* *** GLOBAL ***: Replace old KinematicalCuts classes with new
Cuts classes. It all compiles, but still problem with the
initialization.
* Handlers/Two2NCuts.*, Handlers/KinematicalCuts.*,
Handlers/KinCutsInit.cc: Removed the old KinematicalCuts classes.
2005-10-10 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* EventRecord/TmpTransform.*: Added wrapper class to make safe
temporary Lorentz transforms of objects.
2005-10-05 David Grellscheid <David.Grellscheid@durham.ac.uk>
* acinclude.m4: Fixed #15. Not tested on Mac.
2005-10-04 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* src/setupThePEG.cc, src/runThePEG.cc: Added better handling of
catching a ThePEG::Exception to avoid double output.
2005-10-04 David Grellscheid <David.Grellscheid@durham.ac.uk>
* Doc/reformat.pl, Doc/keywords.sed, Doc/h2html.in, Doc/h2html.awk:
removed obsolete files
* Doc/refman.conf.in: replaced ../../ThePEG with @top_srcdir@
* configure.ac: fixed permissions for Doc/fixincludes.pl. Solves
bug #10
* Repository/Repository.cc: Error message if '.in' file can't be
found. Fixes bug #3.
2005-10-02 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Cuts/*CutBase.*: Added base classes for cuts on one, two and
many particles.
2005-09-29 David Grellscheid <David.Grellscheid@durham.ac.uk>
* configure.ac: Added configure check for OS X
2005-09-22 David Grellscheid <David.Grellscheid@durham.ac.uk>
* src/ThePEGDefaults.in, MatrixElement/*: name change of
libThePEGMEQCD.so to MEQCD.so to reflect the fact that it is a
module
2005-09-21 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Persistency/PersistentOStream.*,
Persistency/PersistentIStream.*: Let all exception classes inherit
from ThePEG::Exception and added informative (?) errormessages
when anything goes wrong.
2005-09-20 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Utilities/ClassTraits.h, lib/ThePEG.el: Modified the comment to
the library() function to indicate the possibility to have several
libraries.
2005-09-15 David Grellscheid <David.Grellscheid@durham.ac.uk>
* *** several files ***: Adressed warning messages from
"-W -Wno-float-equal -Wcast-qual -Wwrite-strings -Wconversion
-Wredundant-decls -Wold-style-cast -Woverloaded-virtual":
-- explicitly initialize base class in copy constructor,
-- fixed C-style casts
2005-09-13 Peter Richardson <Peter.Richardson@durham.ac.uk>
* Helicity (Repository): fixes to use isNear rather than equals in
Helicity classes to avoid boost problems
2005-09-08 David Grellscheid <David.Grellscheid@durham.ac.uk>
* src/Makefile.am: Explicitly set ThePEG_INSTALL_PATH, to fix
problems with some versions of gcc-3.2. Made temporary directory
name in installcheck-local more unique to prevent accidental
deletion of pre-existing directory.
* Repository/Repository.cc, Repository/BaseRepository.cc: Expanded
error messages to mention the class name that has the problem.
* PDF/PDFBase.cc: Fixed 'inline' bug.
2005-09-02 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Cuts/Cuts.*: Fixed buggy doxygen comments.
2005-09-03 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* lib/ThePEG.el: Added function ThePEG-cond-section to make a
region a conditional section for doxygen.
* src/runThePEG.cc, PDT/: Removed the last traces of PYDECYDummy.
* *** GLOBAL ***: Put all template specializations in conditional
doxygen section called TRAITSPECIALIZATIONS.
2005-09-02 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Doc/Makefile.am: Fixed typo in dependencies for refman-html
target.
* configure.ac: Now uses AC_SEARCH_CLHEP instead of AC_CHECK_CLHEP.
* acinclude.m4: Introduces AC_SEARCH_CLHEP and AC_SEARCH_THEPEG
macros to replace AC_CHECK_CLHEP and AC_CHECK_THEPEG. The new
macros will actively search for valid CLHEP and ThePEG
installations in standard places.
2005-09-02 Peter Richardson <Peter.Richardson@durham.ac.uk>
* Helicity/LorentzRSSpinor.icc: fixed bug in the generalCurrent member
2005-09-01 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* PDF/BaryonRemnants.*: Added option to always give di-quark when
extracting valence flavour. And fixed a stupid bug...
* src/runThePEG.cc, src/runEventLoop.cc: Use new
EventGenerator::setSeed() function.
* Repository/EventGenerator.*: Removed randomEngine()
function. Made random() protected. Introduced setSeed() function.
* Repository/CurrentGenerator.*: Remove functions accessing the
random generator.
* Repository/UseRandom.*, PDT/WidthGenerator.cc,
PDT/BreitWignerMass.cc, LesHouches/LesHouchesEventHandler.cc:
UseRandom::currentEngine() now returns pointer.
* Handlers/ACDCSampler.*: Now completely use UseRandom.
* PDF/PartonExtractor.cc, Handlers/KinematicalCuts.cc,
EventRecord/ParticleTraits.h, EventRecord/Particle.cc: Removed
.one() methods calls and use implicit conversion instead.
* CLHEPWrap/LorentzRotation.*: Changed some reference to double
arguments to simple doubles. Changed returning _half and _one as
const references instead of objects. Also introduced cast operator
synonomous to one(). Introduces multiplication operators for
Lorentz(5)Vectors.
2005-06-21 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Cuts/Cuts.*: Added Cuts base class to implement the new handling
of matrix element cuts.
* lib/Makefile.am, configure.ac, Makefile.am: Added Cuts
directory.
2005-08-31 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Repository/UseRandom.*: Added access function to the
RandomEngine of the current RandomGenerator.
* PDT/WidthGenerator.cc, PDT/ParticleData.cc,
PDT/BreitWignerMass.cc, PDF/BaryonRemnants.cc,
LesHouches/LesHouchesEventHandler.cc: Now use UseRandom
everywhere.
* Handlers/HandlerBase.*: Changed to use UseRandom instead of
gerenator()->random().
* Repository/UseRandom.fh: Added to forward declare UseRandom.
* Handlers/ACDCSampler.*: Use pointer to RandomGenerator instead
of reference when talking to ACDCGen, which now use UseRandom.
* ACDC/*: Preparing to get rid of the specific RandomGenerator
object and instead use UseRandom. Specifically use pointers
instead of references to a random generator.
* acinclude.m4: Added AC_SEACH_PREFIXDIR_FILES to search for files
in standard directories. Also added THEPEGLIB variable in
AC_CHECK_THEPEG.
* lib/Makefile.am: Try to avoid linking non-existing shared
library files.
2005-08-30 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Config/std.h: Added specialization for std::less template class
to handle type_info pointers properly using type_info::before
function.
* Utilities/DescriptionList.*: Introduced conditional
compilation. The map relating type_info pointers to
ClassDescriptionBase objects does not work with dynamic linking
under MAC OSX, therefore, if THEPEG_DYNAMIC_TYPE_INFO_BUG is
defined, they are now instead indexed by the name() function of
the type_info object.
2005-06-26 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Utilities/SimplePhaseSpace.tcc: Fixed bug in angles of
three-body phase space (again).
2005-06-17 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* configure.ac, Doc/*: Changes to get make distcheck work properly.
2005-06-16 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Makefile.am: Install libtool in the lib directory (used in the
Makefile.common).
* configure.ac: Included lib/Makefile.common.install in the
AC_CONFIG_FILES.
* lib/Makefile.*: Now installs a Makefile in the lib directory to
be used as a template to build additional ThePEG modules. Also
installs a Makefile.commin which is included in that Makfile.
2005-06-15 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* acinclude.m4: Corrected the THEPEGDOC path.
* LesHouches/MadGraphReader.cc, MatrixElement/ME2to2QCD.h,
Helicity/LorentzSpinor.h: Doxygen cosmetics.
2005-06-14 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* src/Makefile.am: Always run check-local.
2005-06-12 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* src/Makefile.am: Fixes to make distcheck work
smoothly.
2005-06-11 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* src/Makefile.am: Fixed install, uninstall and installcheck
targets.
2005-06-10 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* src/Makefile.am: Fixes to make distcheck work properly. Added
versioned executables in installation again.
* lib/Makefile.am: Fix up sym-linking of shared libraries.
* Utilities/SimplePhaseSpace.tcc: Fixed bug in angles of
three-body phase space.
* Config/Makefile.am: Cosmetics.
2005-06-09 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Utilities/StringUtils.icc: Introduced simple functions for
manipulating filenames.
* Persistency/PersistentOStream.*, Utilities/DynamicLoader.*:
Created a map in DynamicLoader relating generic shared library
file names to the ones with version suffix, so that the
PersistentOStream can output information about the latter
filenames if present.
* lib/Makefile.am: Link all the shared libraries including the
ones with version suffix and the ones ending with .la.
* */Makefile.am, configure.ac: Moved -version-info to the
individual _LDFLAGS variables in the Makefiles
2005-06-08 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* *** GLOBAL ***: Merged with libtool-devel branch.
* LesHouches/*.h: Changed libThePEGLesHouches.so to LesHouches.so
in the ClassTraits specialization.
2005-06-08 David Grellscheid <david.grellscheid@durham.ac.uk>
* */Makefile.am: Switched to build just one overall libThePEG.so;
Modifications to get 'make distcheck' to work error-free;
Modifications to allow compilation on OS X.
* MatrixElements/ME[Qq][Qq]2[Qq][Qq].*: renamed to avoid clashes
on case-insensitive filesystems (like OS X).
* src/ThePEGDefaults.in, LesHouches/Makefile.am: turned
libThePEGLesHouches.so into dynamic module LesHouches.so
* Helicity/*, Interface/Interfaced.h, PDT/ParticleData.*: Included Peter Richardson's
changes to Helicity classes (helicity numbering switched from
-1,0,1 to 0,1,2, etc).
* Templates/*: Removed, as it didn't have Makefile.am entry.
2005-06-06 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Interface/Interfaced.h: Made generator() function public.
* lib/ThePEG.el: Fixed bug in specifying limited parameters.
2005-06-05 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* acinclude.m4: Make sure other packages using AC_CHECK_THEPEG
installs their libraries in $(libdir)/ThePEG.
* Config/config.h.in: Removed. Automatically generated by
autoheader.
2005-06-04 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* acinclude.m4: Included CLHEP namespace definition in the CLHEP
compile test.
2005-06-03 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* configure.ac, acinclude.m4: Added macros to clean up
configure.ac
* ACDC/ACDCGen.h: Added an explicit destructor for Slicer class
for debugging purposes.
2005-06-02 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* lib/ThePEG.el: Just fixed so that THePEG-variable-cutnpaste
opens in another window - not the one we want to paste into.
2005-06-02 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* */Makefile.am: Use $(LN_S) instead of ln -s.
* configure.ac, Makefile.am: Added Doc as subdirectory. Fixed
documentation of environment variables.
* Doc/*: Fixed up to use automake.
* Handlers/SubProcessHandler.fh, Helicity/RSFermionSpinInfo.fh:
Included Pointe.h to make doxygen shut up.
* */*.h: Doxygen does not like '..' in comments anymore. Removed
those.
* src/ThePEGDefaults.in: Now loads some non-default libraries to
get the documentation of the interfaces correctly.
2005-06-01 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* include/Makefile.am: Make it quietly.
2005-05-31 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Utilities/DynamicLoader.cc: Changed the default path to
../../ThePEG/lib
* Helicity/*.h: Made sure ThePEG.h was included first to make sure
we do not get CLHEP package information in the macros.
* *** GLOBAL ***: Change build procedure to use automake and
libtool. This affects all Makefiles etc.
2005-05-28 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Handlers/EventHandler.*, Repository/EventGenerator.*,
LesHouches/LesHouchesEventHandler.*,
Handlers/StandardEventHandler.*: introduced histogramScale()
function.
* Repository/BaseRepository.cc: Added optional class name to the
'ls' command to only list objects (and directories with objects)
of a specified class. To be used in the Java GUI.
* Handlers/StandardEventHandler.*, Handlers/StandardXComb.*:
StandardXComb now uses the XSecStat class to collect
statistics. It is not quite used as intended as the maximum cross
section for each XComb is not explicitly known, but it cleaned up
the class a bit...
2005-05-27 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* LesHouches/MadGraphReader.*: Removed setting of XPDWUP giving
the responsibility for that to the base class. Also renamed
readEvent() to doReadEvent().
* LesHouches/LesHouchesReader.*: Renamed the readEvent() function
to doReadEvent() which is called from the new readEvent()
function, which also does the reweighting (with newly introduced
reweightPDF option and the (p)reweights). Aslo sets the XPDWUP
varaiables if not done by the sub-class (but set to -1).
* LesHouches/LesHouchesEventHandler.cc: Added cuts - they were
there before, but were never used.
* PDF/PartonExtractor.h: Made the getPDF function public.
2005-05-26 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Handlers/ClusterCollapser.cc: Changed to use new transfrom of
whole container in ThePEG::UtilityBase.
* Utilities/UtilityBase.*: Added transform() function which takes
a whole container as argument.
* PDF/PartonExtractor.*, PDF/RemnantHandler.*, PDF/NoRemnants.*,
PDF/LeptonLeptonRemnant.*, PDF/BaryonRemnants.*: Changed the
signatures of the generate() and recreateRemnants() functions to
also require information about the shat of the subprocess, to
allow the remnant handlers to catch situations where they might
get into trouble with kinematics. The old functions are still
there, but will be removed shortly.
* LesHouches/LesHouchesEventHandler.cc: Added warnings about
oversampling in the statistics() function.
* MatrixElement/MEBase.h: (David Grellscheid) Now includes
MEBase.fh as this is no longer done by LastXCombInfo.h.
* Handlers/LastXCombInfo.h: (David Grellscheid) Removed
declaration of lastME(), which was needed and not
implemented. Also removed the inclusioon of the MEBase.fh header
file.
2005-05-19 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* LesHouches/LesHouchesReader.cc: Fixed bug in reading cached
files (name of the gzip program and resizing of vectors HEPEUP.
Also removed debugging information about writing the cach file.
* LesHouches/LesHouchesReader.icc: Fixed bug in calculating the
byte-size of the HEPEUP struct.
* LesHouches/MadGraphReader.cc: Set correct units on the SCALUP
variable.
* LesHouches/LesHouchesReader.cc: The scale in the constructed
PartonBinInstances should be negative. Also set the scale of the
incoming and outgoing partons
* PDF/PartonExtractor.*: Removed public access to
thePartonBinInstances, which eas not really neaded. Renamed the
variable to partonBinInstances and cleared it in the beginning of
the constructRemnants function.
* PDF/PartonBin.h: Removed declaration of unimplemented functions.
2005-05-17 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* *** GLOBAL ***: Merged in branch with new EventHandler and
EventGenerator classes. Includes also the LesHouches classes.
* */*.h: Fixed some ancient spelling errors in comments
* lib/ThePEG.el: Fixed bug in ThePEG-parameter
function. (Interface:: was previously Interfaced::)
* Utilities/ObjectIndexer.*: Added empty() function.
* MatrixElement/ReweightConstant.*: Added simple sample reweight
class.
* MatrixElement/Makefile, MatrixElement/ReweightBase.*,
MatrixElement/ReweightMinPT.*: Modified to use StandardXComb. This
was not noticed before since ReweightMinPT was accidentally
omitted from the Makfile
* Handlers/KinCutsInit.cc: Fixed bug in declarations of Parameter
interfaces introduced to avoid ambiguities.
2005-05-16 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Handlers/CascadeHandler.cc, Handlers/LastXCombInfo.*: Made the
LastXCombInfo::pdf function templated to avoid having to include
PDF.h (which in turn includes a lot of stuff) in LastXCombInfo.h.
2005-05-15 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* LesHouches/LesHouches.*, LesHouches/LesHouchesReader.*: Moved
the LesHouches common block variables into struct corresponding
to HEPRUP and HEPEUP.
2005-05-11 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Utilities/CompSelector.*, LesHouches/*: Added Selector-like
class capable of compensating if overestimated cross sections used
for selection torns out to be too low.
2005-05-04 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Utilities/XSecStat.cc: Implemented the << and >> operators in
the ThePEG namespace (don't understand why that is needed).
* Handlers/StandardEventHandler.*, Handlers/EventHandler.*: Moved
the statLevel() function and assiciated variables from
StandardEventgenerator to Event Generator.
2005-05-03 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* CLHEPWrap/RandPoisson.*: New wrapper around the CLHEP
RandPoisson class.
* Utilities/XSecStat.*: Changed behavior to both accumulate
accepted events and weights. also accumulates squared weights to
get an error esitmate.
2005-04-29 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* PDF/PartonExtractor.*: Removed functions no longer used by the
LesHouches classes.
* Utilities/XSecStat.*: Added class to collect cross section
statistics.
2005-04-27 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* PDF/PartonExtractor.*: Added functions boostRemnants() and
transformRemnants(), which where taken from
Pythia7::ShowerHandler. Also added constructRemnants functions,
primarily to be used by the LesHouchesEventHandler.
* configure.in: Just cosmetics.
2005-04-26 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Utilities/Math.icc, Config/config.h.in, configure.in: Included
check for existence of atanh (ThePEG_HAS_ATANH). This is a
standard C function but is not always available on C++
compilers. Also changed the implementation of Math::log1m in case
neither log1p or atanh is available. If atanh is not available it
is included in the Math namespace using log1m.
2005-04-25 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* PDF/PartonExtractor.cc: Removed unused variables in construct().
2005-04-21 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* lib/ThePEG.el: Started to modify interface decalration defuns to
use the unums in Interface/Interface.h.
* Handlers/KinCutsInit.cc, StandardModel/O1AlphaS.cc: Modified
declarations of Parameter interfaces to avoid ambiguities.
* PDF/BaryonRemnants.cc: Modified slightly the initial check if is
at all possible to create remnants.
* Interface/Parameter.*, Interface/ParVector.*: Added option to
make parameters limited from above _or_ below rather than just
both or not at all.
* Interface/Interface.h: Added namespace Interface namespace with
descriptive enums to be used when declaring interfaces.
2005-04-20 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* PDF/PartonExtractor.*: Introduced generateRemnants
functions. Not yet quite working if scale is zero.
* Repository/RandomGenerator.*, Repository/UseRandom.*: Added
rndvec function to return a vector of random numbers.
* Handlers/XComb.cc: Fixed bug in setPartonBinInstances(), forgot
to actually set them.
2005-04-19 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Handlers/XComb.*, Handlers/StandardXComb.cc: Removed unnecessary
member theLatOutgoing in XComb, renamed setPartonBinInstances() to
createPartonBinInstances(), introduced setPartonBinInstances() for
providing instances from the outside.
2005-04-17 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Utilities/StringUtils.cc: Fixed bug in stripws.
* Utilities/CFileLineReader.h: Made class non-virtual.
* Handlers/KinCutsInit.cc: Made LeptonMatcher interface
non-readonly.
* Handlers/EventHandler.cc: Made LuminosityFunction interface
nullable.
* LesHouches/TestLesHouches.in: Added temporary test setup. To be
moved to the test directory.
2005-04-14 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Handlers/StandardXComb.h, Handlers/StandardEventHandler.h,
Handlers/EventHandler.h, Handlers/SubProcessHandler.fh,
Config/Pointers.h, Config/Containers.h, MatrixElement/MEBase.fh:
Moved declaration of pointers and containers of SubProcessHandler
and MEBase to corresponding .fh files.
2005-04-13 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Handlers/StandardEventHandler.h: Now #includes PartonBin.fh.
* Handlers/EventHandler.h: Made some access functions public and
fixed some documentation.
* PDF/PartonBin.fh, Config/Pointers.h, Config/Containers.h): Moved
declaration of pointers and containers of PartonBins to
PartonBin.fh.
2005-04-07 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Handlers/LastXCombInfo.h: Included PDF.h instead of PDF.fh,
since gcc-4 insists on trying to compile a templated function even
though it is not used.
* Persistency/PersistentOStream.icc: Workaround for gcc-4
defining tYes and tNo in a strange way.
2005-04-07 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Handlers/ClusterCollapser.*: Simplified the insertion od
singlets in map by introducing a static insert() method.
* Pointer/RCPtr.*: Renamed member thePointer to ptr to avoid
excessive finger work during debug.
* MatrixElement/*, Handlers/*: Completed the division between the
general XComb base class and the StandardXComb class used for the
sub-process generation in the StandardEventHandler. Changed the
behavior of LastXCombInfo so that it is templated on possible
sub-classes of XComb.
2005-04-06 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Utilities/FixedSizeAllocator.h: Added include of <memory>.
* Utilities/Selector.h, Config/std.h: fixed Allocator template
argument in ThePEG_DECLARE_MAP. Thanks to David Grellscheid.
* ACDC/ACDCGen.*, ACDC/ACDCGenCell.*: Added a smooth function to
disallow to large differences between neighboring cells. Not yet
used.
2005-04-06 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* *** GLOBAL ***: Removed all references to old EventHandler
hierarchy. Everything compiles and runs, but not quite tested yet.
2005-04-05 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* LesHouches: Changed to use new EventHandler hierarchy.
2005-04-04 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Repository/MultiEventGenerator.*: Now inherits from the new
EventGenerator class.
* Handlers/SamplerBase.*: Added setEventHandler() method for new
EventHandler class.
* Handlers/XComb.*: Added constructors for new EventHandler class.
* Handlers/LuminosityFunction.h: Made select() public.
* EventRecord/Collision.h): Made addStep public.
* EventRecord/Event.h: Made setInfo(), addCollision() and
primaryCollision(tCollPtr) public.
* Handlers/StandardEventHandler.*: Joined OldEventHandler and
CollisionHanlder into the new StandardEventHandler class to
prepare for new EventHandler hierarchy.
2005-03-31 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* ACDC/ACDCGen.*: Changed the procedure for presampling. The
initial basic level is set to the minimum sampling, but is never
allowed to be less than a fraction (by default 1/nTry()) of the
maximum sampling.
* Handlers/ACDCSampler.*: Added a hint in the warning issued if a
run ends while ACDC is in compensating mode, also made it a proper
warning. Increased the default number of pre-samplings from 100 to
1000.
2005-03-10 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* MatrixElement/ME2to2Base.cc: Fixed bug in calculatio of jacobian
spotted by David Grellscheid. Only showed up if outgoing partons
were produced close to rest in which case the jacobian diverged.
2005-02-23 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* *** GLOBAL ***: CurrentGenerator to OldCurrentGenerator, EGPtr
to OEGPtr and EHPtr to OEHPtr to prepare for new EventHandler
hierarchy.
2005-02-21 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* *** GLOBAL ***: Renamed EventGenerator to OldEventGenerator to
prepare for new EventHandler hierarchy.
2005-02-20 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Handlers/EventHandler.*: Modified EventHandler according to new
hierarchy. Also made minor changes to other classes to make it
compile. These changes needs to be attended to when the old
classes are removed and are marked with the comment
'*** OldEventHandler ATTENTION ***'.
2005-02-19 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* *** GLOBAL ***: Renamed EventHandler to OldEventHandler to
prepare for new EventHandler hierarchy.
2005-02-08 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* lib/fixCLHEP: Copy libCLHEP.so rather than soft link since the
CLHEP versioning system for shared libraries doesn't really work.
2005-01-07 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Handlers/StandardXComb.*, PDF/PartonExtractor.h,
MatrixElement/MEBase.cc, Handlers/LastXCombInfo.h,
Handlers/CollisionHandler.cc, Handlers/XComb.*: Changed slightly
the interface for XComb, preparing for makeing it a base class
with StandardXComb as a sub class implementing the standard
ThePEG-specific sub process generation parts of XComb.
2004-12-30 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Repository/RandomGenerator.*: Added operator()(long) to conform
to the random number generator requirements of the standard
library (mainly used in the random_shuffle function in
<algorithm>).
* Handlers/EventHandler.*: Added const and non-const access to the
pointer to the Luminosity function.
2004-12-25 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Utilities/CFileLineReader.cc: Fixed bug in checking if a file is
bzip2 format.
* configure.in: Fixed default compress commands in
ThePEG_BZ2WRITE_FILE and ThePEG_GZWRITE_FILE macros.
2004-12-20 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* PDT/ParticleData.cc: Added initialization for members in default
constructor.
2004-12-02 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Utilities/Math.icc: Added 'using namespace std;' in exp1m and
log1m to avoid problems with compilers where atanh etc are (not)
in std.
2004-10-27 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* lib/fixCLHEP: Fixed the script to use g++ instead of ld to
create a shared library from the static CLHEP library. This should
probably be a configure option in the future.
2004-10-14 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Utilities/StringUtils.*: Added stripws() function to strip a
string from leading and trailing white space.
* Repository/EventGenerator.cc : Incommented string parameters in
Init as these should now work properly on any compiler.
* lib/ThePEG.el (ThePEG-parameter): Made specialization for
string.
* Interface/Parameter.*: Made (partial) specialization for string
parameters to avoid min/max functions and units.
2004-10-13 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Repository/BaseRepository.cc, Interface/InterfacedBase.*: Each
interfaced object may now be assignrd a unique comment. If an
interfaced object is being initialized with the setup command in
the repository the non-virtual InterfacedBase::setup() function is
called which in turn calls the virtual readSetup(). Everything in
the stream supplied as argument which is not parsed by the
readSetup functions will be treated as a comment.
* Repository/Repository.cc: Added possibility in read() function
to have continuation lines. If a command line end with a \
the next line will be added.
2004-09-30 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* lib/ThePEG.el: Added ThePEG-variable-cutnpaste function to
produce templates for including a variable definition and
corresponding set/get functions, constructor initialization adn
I/O.
2004-09-29 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* lib/ThePEG.el: Added ThePEG-refvector and ThePEG-parvector
functions.
* LesHouches/LesHouchesEventHandler.*: Added subclass to
EventHandler for the LesHouches readers. A reorganization of
(Partial)Collision/Event handlers is called for.
2004-09-25 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* configure.in, Config/config.h.in, Utilities/CFileLineReader.cc:
Added facilities to handle .bz2 files as well as .gz files.
* Utilities/CFileLineReader.*: Bug fixes.
2004-09-24 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Utilities/CFileLineReader.*: Added class to read from C FILE
streams.
* lib/ThePEG.el: Cleaned up comments.
2004-09-20 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* */Makefile: Modified to fix installation procedures.
2004-09-19 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* */Makefile: Modified to fix installation procedures.
2004-09-14 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Makefile: Modified snapshot target to work with new documentation.
2004-09-10 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* lib/ThePEG.el: Fixed dummy min/max values for unlimited
Parameter objects in ThePEG-parameter function.
2004-09-09 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* lib/ThePEG.el: Changed documentation in header file generation.
* *** GLOBAL ***: Added doxygen reference to interfaces in
documentation. Also changed some descriptions of interfaces to get
proper references between interfaces.
* Doc/Makefile: Added call to fixinterfaces.pl script to fix
references between interfaces in AllInterfaces.h
* Doc/fixinterfaces.pl: Added script to fix references between
interfaces in AllInterfaces.h
2004-09-08 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Doc/refman.conf: Updated to suit doxygen version 1.3.8.
* Helicity/*.fh: Added include of Pointer.h to help doxygen
documentation.
* Helicity/HelicityDefinitions.h: Added documentation of Helicity
namespace.
2004-09-05 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Utilities/Math.*: Added sign transfer function.
* Config/Units.h: Add inverse energy to the fourth power as unit.
* Handlers/GaussianPtGenerator.*, Handlers/PtGenerator.h:
Changed pair of energy for TransverseMomentum.
2004-09-04 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* src/Makefile, Makefile: Introduce init target to just initialize
the repository. The doc target depends on init.
2004-09-03 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Config/Makefile.common.in, Makefile: Modified the doc target to
use doxygen.
* Interface/Switch.*, Interface/Reference.*,
Interface/RefVector.*, Interface/Parameter.*,
Interface/ParVector.*, Interface/Command.*,
Interface/InterfaceBase.*: Added virtual functions to write out
doxygen formatted entries describing interfaces.
* Repository/BaseRepository.cc: Added command-line function to
write out doxygen documentation of all interfaces.
* *** GLOBAL ***: Modified all descriptions in declarations of
interfaces to conform to doxygen format.
2004-08-25 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* *** GLOBAL ***: Fixed various doxygen comment issues.
* Doc/refman.h: Added file with embryo of mainpage reference
manual documentation.
2004-08-24 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* *** GLOBAL ***: Fixed various doxygen comments.
* Doc/refman.conf: Added config file for doxygen generation of
reference manual.
2004-08-22 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* *** GLOBAL ***: Changed the last class names from /ThePEG/name
to ThePEG::name.
* StandardModel (directory): Modified to use new documentation
format.
2004-08-19 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Repository (directory): Modified to use new documentation
format.
2004-08-10 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* PDT (directory): Modified to use new documentation format.
2004-08-02 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* lib/ThePEG.el: Added functions for creating PDF classes.
2004-08-01 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* PDF (directory): Modified to use new documentation format.
2004-07-27 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* MatrixElement (directory): Modified to use new documentation
format.
2004-07-24 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Interface (directory): Modified to use new documentation format.
2004-07-21 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* EventRecord/Particle.icc: Reset pointer to particle
representation and particle data for the case a dangling pointer
to the destroyed object should be used accidentally.
* EventRecord/Step.*: Changed destructor to reset transient
pointers in Particlespointing to the destroyed object.
* EventRecord/Collision.*: Changed destructor to reset transient
pointers in Steps and SubProcesses pointing to the destroyed
object.
* EventRecord/Event.*: Changed destructor to reset transient
pointers in Collisions pointing to the destroyed object.
2004-07-20 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Handlers/PartialCollisionHandler.cc: In performStep, if the
StepHandler throws an exception, call popStep() to set the correct
current step rather than calling Collision::popStep() directly.
* Helicity (directory): Modified to use new documentation format.
2004-07-16 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Handlers (directory): Modified to use new documentation format.
2004-06-28 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Handlers/CascadeHandler.icc: Fixed bug in standard setup
functions. Before they called the HandlerBase versions, now they
correctly call the StepHandler ones.
* Doc/Makefile, Makefile: Also make clean in Doc directory.
* Handlers (directory): Modified to use new documentation format.
2004-06-25 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* EventRecord (directory): Modified to use new documentation
format.
2004-06-24 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* EventRecord (directory): Modified to use new documentation
format.
2004-06-23 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* ACDC, CLHEPWrap, Config, Persistency, Pointer, Utilities
(directory): Modified to use new documentation format.
2004-06-22 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Utilities (directory): Modified to use new
documentation format. Also removed unused Integrator class.
2004-06-21 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Config, Persistency, Pointer (directory): Modified to use new
documentation format.
* lib/ThePEG.el: Modified to use new documentation format.
2004-05-24 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* src/ThePEGParticles.in: Made also the photon and pi0
BeamParticleData since they can have parton densities.
* Handlers/GaussianPtGenerator.cc: Fixed units in I/O.
* src/ThePEGDefaults.in: Set GaussianPtGenerator and
SimpleZGenerator in the BaryonRemnants object.
* lib/Makefile: Added SHOWCOMMAND conditionals.
* Utilities/Rebinder.icc: Fixed bug in translate(iterator ...)
function.
* Handlers/SimpleZGenerator.*: Added simple default implementation
of the abstract ZGenerator class.
* Handlers/GaussianPtGenerator.*: Added simple default
implementation of the abstract PtGenerator class.
2004-05-15 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* PDT/BreitWignerMass.cc: Now uses the new asymmetric width cuts.
* PDT/ParticleData.o: Changed the internal representation of the
width cut to one upper and one lower cut. Added corresponding
access functions and Parameter interfaces. Also changed the
massMax and massMin functions accordingly. The old set and get
functions for the width cut now sets both the upper and lower cut
and returns the maximum of the two.
2004-05-14 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Handlers/EventHandler.cc: Added doinitrun implementation to
reset the statistics for the XCombs after initializing the phase
space sampler.
* Handlers/XComb.*: Added checkInit function to check if the XComb
has any possibility to produce events. Also add reset function to
reset statistics for the XComb.
* Handlers/CollisionHandler.cc: Do not add XComb's which cannot
possibly produce events (and issue a warning).
2004-05-13 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* ACDC/ACDCGen.icc: Fixed bug which caused a crash if it was
impossible to find a non-zero cross section for a channel.
* MatrixElement/ME2to2Base.cc: Added (possibly unnecessary) try
block for checking impossible kinematics.
2004-04-26 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* LesHouches/MadGraphReader.*: New class.
* LesHouches/LesHouchesFileReader.*: New class.
* Config/config.h.in, configure.in: Added macros for opening
compressed files with popen. (popen turns out not to be in the C++
standard, so we may have to look for another solution).
2004-04-23 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* configure.in: Changed default optimization flag to -O2
(otherwise things get slow with gcc 3.4.0).
* ThePEG: The following changes were made to allow compilation
with gcc 3.4.0.
* Utilities/TypeInfo.icc: in version and name method, use typeid
of type rather than variabe.
* Utilities/Interval.icc: Fixed obvious bugs in check and
checkAll.
* Utilities/FixedSizeAllocator.h: Fixed obvious bug in destroy
which for unknown reasons was not detected before.
* Utilities/ClassDescription.tcc: Workaround of bug in gcc 3.4.0
when taking typeid of template parameter.
* Utilities/ClassDescription.icc: Added scope resolutions to calls
to name().
* Repository/Repository.cc: Removed 'template' prefix in calls to
templated static member functions.
* Repository/RandomGenerator.icc, Repository/RandomGenerator.h:
changed return type for rnd(OutputIterator, size_type n) to void.
* Pointer/RCPtr.icc: Made implementations of swap explicit instead
of using std::swap (problems with gcc 3.4.0).
* Interface/Switch.tcc, Interface/Reference.tcc,
Interface/RefVector.tcc, Interface/Parameter.tcc,
Interface/ParVector.tcc: Added scope resolution to calls to
readOnly, limited, and dependencySafe functions.
* Interface/InterfacedBase.h: Made clear and reset functions
public.
* Interface/Switch.cc, Interface/Reference.cc,
Interface/RefVector.cc, Interface/Parameter.cc,
Interface/ParVector.cc, Interface/Command.cc: Moved include of
InterfacedBase.h
* Handlers/HandlerGroup.tcc: Added #include of Hint.h
* Handlers/ClusterCollapser.cc: Changes call to swap for PPtr.
* EventRecord/Particle.h: Made inner class ParticleRep public as a
quick fix to allow access.
* EventRecord/Step.tcc: Added missing Step:: in definition of the
addIfFinal function.
*PDT/DecayMode.cc , PDF/BaryonRemnants.h,
EventRecord/SubProcess.cc, EventRecord/Step.cc,
EventRecord/Particle.cc, EventRecord/Event.cc,
Config/Containers.cc: Removed unnecessary semi-colons.
2004-04-20 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* lib/ThePEG.el: ThePEG-class-files now also create a suitable .fh
file which is included in the .h file
* LesHouches (Directory): Started implementing the Les Houches
interface.
2004-04-17 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Handlers/KinematicalCuts.cc: Changed the cut methods to use the
check methods for induvidual cuts for consistency reasons.
* Handlers/KinematicalCuts.icc: Changed the methods mHat, sHat,
pTHat, yStar, maxY, minY, maxEta, minEta. The treatment of <
vs. <= is now better. See documentation for respective functions.
2004-03-31 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Persistency/PersistentOStream.cc: Minor changes to facilitate
debugging.
* Handlers/XComb.h, Handlers/CollisionHandler.cc,
PDF/PartonExtractor.cc, PDF/PartonBin.*: The incoming PartonBin is
now a transient pointer while the outgoing ones are reference
counted (before it was vice versa). This is to avoid that outgoing
PartonBins which are not used get deleted while the transient
pointers are still around. Also the PartonExtractor was changed to
reflect this change. In PartonExtractor::getPartons the bins
corresponding to the incoming particles are also saved last in the
returned vector to avoid them being deleted. This is then also
taken care of in CollisionHandler::initialize.In addition, the
XComb objects now also hold reference counted pointers to the bins
corresponding to the incoming particles.
2004-03-27 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Helicity/HelicityDefinitions.h: Removed the
HelicityDefinitions class.
2004-03-16 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Helicity/HelicityDefinitions.h: Changed integers for detrmining
dirac representation and spinor type to enums. Also made
corresponding changes in LorentzSpinor and LorenzSpinorBar
classes.
* Persistency/PersistentOStream.* Persistency/PersistentIStream.*:
Added members functions for i/o of Complex.
* Interface/ParVector.* (Module): Fixed bug where min, max and def
members were implemented as doubles. They are now properly
templated.
* Helicity (Module): Changed the implementation of Direc
representation in Lorentz spinors. Also fixed documentation.
2004-03-07 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Helicity (Module): Changed all 'cerr' error messges to
HelicityLogicalError and HelicityConsistencyError exceptions.
2004-03-04 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Helicity (Module): The helicity classes are now included in the
ThePEG structure. They have not been tested in this structure yet,
but it compiles and links into ThePEG without any problems.
2004-03-03 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Helicity (Module): Added Peters helicity classes and started to
integrate them into ThePEG.
* MatrixElement/MEBase.cc (Module): Added new virtual function
constructVertes for constructing the spin information for the
interaction. The default version does nothing.
* Handlers/XComb.cc (Module): Added call to
MEBase::constructVertex in the construct method.
* EventRecord/Particle.cc (Module): Fixed bug in the cloning of
the spin information in the ParticleRep copy-tor.
2004-03-01 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Config/Complex.h (Module): Added using std::complex int the
ThePEG namespace.
2004-02-24 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* EventRecord/Particle.*: Added function 'abandonChild' which will
undo the actions of 'addChild', i.e. Remove the child from the
list of children and also remove this from the childs list of
parents.
2003-11-19 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* lib/ThePEG.el: Made sure ClassTraits.h is included before class
traits templates are specialized.
* configure.in, Config/Makefile.common.in: Made configure steer
all compiler flags and included info for --help option. Also
changed the check for log1p and expm1 which caused problems under
cygwin. Need to also fix a atanh check but no solution to that for
cygwin yet.
2003-11-04 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* lib/Makefile, lib/fixCLHEP: If CLHEP is already in a dynamic
library, make symbolic links to the corresponding files instead of
copying. Also make symbolic links when installing.
2003-11-02 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Makefile: Fixed dependencies for setup target.
* configure.in: Fixed strange behavior when --prefix is not
explicitly used.
2003-10-31 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* lib/fixCLHEP: Since CLHEP-2.0 comes with shared libraries, we
now look for that before trying to find the static one.
* Handlers/ACDCSampler.h: Added using namespace ThePEG::Units in
the ACDCGenerator namespace to be compatible with CLHEP-2.0 and
earlier versions.
* Config/Units.h: Added using namespace CLHEP to be
compatible with CLHEP-2.0 and earlier versions.
* CLHEPWrap/CLHEP.h: Added an empty CLHEP namespace to be
compatible with CLHEP-2.0 and earlier versions.
* ../Makefile: Made distclean a special target since here the
ThePEG directory has to be cleaned last.
* configure.in: Set the default CLHEPPATH to $prefix rather than
hardcoded to /usr/local
2003-10-24 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* StandardModel/StandardModelBase.*: Changed CKM function to check
if theCKM2Matrix has been generated by the CKM object before
returning a matrix element.
2003-08-27 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* src/runThePEG.cc: If -x argument specifies a dynamic library, it
is assumed to contain a class inheriting from Main and which has a
static Init() function which runs the event generator instead of
simply calling the event generators go() function.
2003-08-26 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Repository/Main.*: Added base class for classes implementing a
main steering routine for running an EventGenerator, in case the
standard 'go()' function in the EventGenerator is not enough.
* Handlers/EventHandler.cc: Avoid floating exception in
atatistics() if no events were generated. Write nice message
instead.
* Handlers/ACDCSampler.cc: Avoid floating exception in finish() if
no events were generated. Write nice message instead.
* ACDC/ACDCGen.icc: Avoid floating exception in efficiency() if no
events were generated.
2003-08-13 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Handlers/DecayHandler.cc: Use the StepHandler::newStep()
function.
* Handlers/ClusterCollapser.h: Changed the signature of the
collapse() function to take a new step as argument instead of a
collision handler. Changed the handle method accordingly.
* EventRecord/Collision.*, Handlers/PartialCollisionHandler.*:
newStep() now have an optional argument to specify the step
handler.
* Handlers/StepHandler.cc: createNewStep now sets the handler to
this.
2003-08-12 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* PDT/V2PPDecayer.cc: Fixed but in reweight() where the parent and
grand parent momenta were not boosted to the parent cms.
* PDT/WeakToHadronsDecayer.cc, PDT/V2PPDecayer.cc,
PDT/OmegaPhi3PiDecayer.cc, PDT/FlatDecayer.*,
PDT/DalitzDecayer.cc, PDT/Decayer.*: Added utility function
getChildren(), finalBoost() and setScales() in Decayer to be used
in subclasses.
* Utilities/SimplePhaseSpace.tcc: Fixed bug in CMSn. I the case of
two particles the angles were not properly distributed.
* src/ThePEGParticles.in, src/ThePEGDefaults.in: Using
WeakToHadronsDecayer instead of dummies PYDECY42 and
PYDECY48. Also using DummyDecayer instead of PYDECY51 and PYDECY53
* PDT/WeakToHadronsDecayer.*: Added class for weak decays of taus,
charmed and bottom hadrons. Seems to work.
* PDT/QuarksToHadronsDecayer.cc: Fixed bug where the decay
products were not boosted to the parents frame. Also made minor
change tosimplify for the WeakToHadronsDecayer sub class.
* Makefile: Removed -$(MAKEFLAGS) in recursive calls.
2003-08-08 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Config/Makefile.common.in: Moved macro for THEPEGLIBS from src/Makefile to Config/Makefile.common
* src/ThePEGParticles.in, src/ThePEGDefaults.in: Using
QuarksToHadronsDecayer also instead of dummies PYDECY11 and
PYDECY12. Also using ColourPairDecayer instead of dummy PYDECY32.
2003-08-07 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* PDT/ColourPairDecayer.*: Added class inheriting from FlatDecayer
which can handle colour connected pairs of decay products which
are to undergo subsequent hadronization and optional
showereing. NOT TESTED.
* PDT/QuarksToHadronsDecayer.cc: Class now can handle matcher
specifications of light quark pairs.
* PDT/FlatDecayer.*: Added virtual getChildren() functions for
sub-classes which need to do special things with the children.
2003-08-04 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* src/ThePEGParticles.in, src/ThePEGDefaults.in: Using
QuarksToHadronsDecayer instead of dummy PYDECY13.
* PDT/QuarksToHadronsDecayer.cc: Fixed vaious bugs. Seems to work
now, but physics not tested.
* Handlers/SimpleFlavour.cc: Fixed bug in generateHadron() when
argument was anti-quark and and in setProbabilities() for diquark
production. Fixed anti-particle bug in vectorMeson() and
pseudoScalarMeson(). THe class seems to work now but physics not
tested.
* Handlers/FlavourGenerator.cc: Just changed error messages.
2003-08-01 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Handlers/FlavourGenerator.*: Added 'always' wrapper functions
which call the virtual generateHadron(), getHadron() and
getBaryon() functions which throws exceptions if no hadron could
be generated.
2003-07-30 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* PDT/QuarksToHadronsDecayer.*: Added class for decay of particles
to quarks which are then converted to hadrons distributed
according to phase space. Not ready yet.
* PDT/StandardMatchers.h: Added QuarkMatcher.
* src/ThePEGParticles.in, src/ThePEGDefaults.in,
PDT/Onium3GDecayer.*: Added Onium3GDecayer class for decay of
spin-1 onia into three gluons or two gluons and a photon. The
class has not been properly tested.
2003-07-29 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* src/ThePEGDefaults.in: Added a SimpleFlavour object which is
used by the BaryonRemnants and ClusterCollapser objects.
* PDT/StandardMatchers.h: Added Check functions taking PDG code
arguments for the MesonMatcher and BaryonMatcher classes.
* PDT/PDT.*: Added functions to get the flavour content out of
hadrons.
* Handlers/SimpleFlavour.*: Added class to implement simple
versions of the pure virtual functions of the FlavourGenerator
class. The model implemented ti s simplified version of the Pythia
fortran version. (NOT TESTED)
* Handlers/FlavourGenerator.*: Changed the standard pure virtual
functions for the FlavourGenerator class to get rid of things that
were too much related to the Lund string fragmentation stuff.
2003-07-27 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* PDT/OmegaPhi3PiDecayer.h: Changed the class name in the class
description to ThePEG::OmegaPhi3PiDecayer.
* lib/ThePEG.el: Changed the naming of classes from
"/{namespace}/{class}" to "{namespace}::{class}".
* src/ThePEGParticles.in, src/ThePEGDefaults.in: Changed the
naming of classes from "/{namespace}/{class}" to
"{namespace}::{class}".
* Utilities/DescriptionList.cc: The naming of classes in the class
description has until now been on the form "/{namespace}/{class}"
In the future it should instead be on the more natural form
"{namespace}::{class}". Before the new naming scheme is enforced
class descriptions will be registered in both the old and new
form.
* Repository/BaseRepository.*: Added remove(ObjectList) to safely
remove a set of objects from the repository if no other objects
are referring to them. The function is used by the "rm"
command. In addition a new command "rrmdir" was added to remove a
complete directory with all its objects and sub-directories. (The
"rmdir" only removes empty directories.)
* Repository/Repository.*: The "cp" command now treats particles
separately (copyParticle()). If a particle has an anti-partner
this is also copied to the same directory. In addition the decay
modes of both particle and anti-particle will be copied.
* PDT/DecayMode.cc: in constructDecayMode() it is now the default
to specify the full name of the decaying particle (rather than
just the PDGName).
2003-07-26 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* CLHEPWrap/*.fh, CLHEPWrap/*.h: Reordered include paths to
prepare for next version of CLHEP which will use namespace CLHEP.
2003-07-25 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* PDT/DecayMode.*: Added new member variable to remember the order
in which the decay products were specified. The produceProducts()
now created particles according to this order.
* src/ThePEGParticles.*, src/ThePEGDefaults.in,
PDT/DummyDecayer.*: Added DummyDecayer class for symbolic decay
channels. It replaces the PYDECYDummy decayer with mode 102.
* src/ThePEGParticles.*, src/ThePEGDefaults.in,
PDT/Tau2HadronsDecayer.*: Added class to decay tau to neutrino
plus hadrons.
* PDT/OmegaPhi3PiDecayer.cc:
* src/ThePEGParticles.in, src/ThePEGDefaults.in,
PDT/DalitzDecayer.*: Added class to perform Dalitz decays into e+
e- gamma.
2003-07-24 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* PDT/StandardMatchers.h: Added matcher classes for
PseudoScalarMesons and VectorMesons.
* src/ThePEGParticles.*, src/ThePEGDefaults.in, PDT/V2PPDecayer.*:
Added V2PPDecayer class to decay vector mesons to pseudo-scalar
ones. Will be flat in phase space unless the grand parent is a
speudoscalar and its only other daughter is a speudo-scalar or a
photon.
* Repository/EventGenerator.icc: Added member functions and
variables to access the current (partial) collision handler and
the current step handler.
* Handlers/PartialCollisionHandler.*: addStep() now has default
null arguments for the step handler and the hint. If the hint is
null, it is immediately converted to the default hint. If a step
was added to a given group, the subsequent groups are
automatically reinitialized. In continueCollision(), the
currentCollisionHandler() of the current event generator is set to
this. In performStep() the currentStepHandler() in the current
event generator is set to the step handler which is called.
* Handlers/HandlerGroup.cc: next() will now return immediately for
an empty group. addPreHandler(), addHint() and addPostHandler()
now assumes (rightly) that the hint recieved is never null.
addHint will refill the whole group event if there is the main
handler is currently executing. I.e it is assumed that someone
adding a hint to the main handler wants the whole group to be
redone.
* EventRecord/Collision.cc: Fixed so that if a perticle is removed
from the event record its birthStep pointer is set to null.
Hopefully this will fix the problem that sometimes when a
generator is dumped (due to an error) a particle is written to a
persistent stream and then tries to write a no longer existent
birthStep.
2003-07-23 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* PDT/OmegaPhi3PiDecayer.*, src/ThePEGDefaults.in,
src/ThePEGParticles.in: Added OmegaPhi3PiDecayer class to handle
omega-phi->3pi decays.
* lib/ThePEG.el: Added ThePEG-Decayer-class-files function.
* PDT/FlatDecayer.cc: Now uses DecayMode::produceProducts().
* src/ThePEGParticles.in, PDT/DecayMode.*: The naming of decay
modes were before such that only the number and types of the decay
products were important, this meant that it was not possible to
have both eg. B0 -> c-cbar d-sbar and B0 -> c-sbar d-cbar decay
modes since they have the same name and same representation. Now
the concept of links have been introduced to indicate that decay
products can be linked together in pairs making two decay modes
with the same decay products but different linking different. This
is indicated in the name by an equal sign instead of a comma:
B0->c=cbar,sbar=d; and B0->c=sbar,cbar=d;
Also added a produceProducts() function to produce particles from
the specified decay products, so that linked particles come first
and consecutively in the returned vector.
2003-07-22 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* CLHEPWrap/Makefile: Added Matrix.h and Matrix.fh to the dist
files.
* lib/fixCLHEP: Make sure the fixed .so version of the CLHEP
library is called libCLHEP.so irrespective of what the original
CLHEP library was called.
* MatrixElement/MEQQ2GG.cc, MatrixElement/MEQG2QG.cc: Fixed error
in specification of intermediate particles (which was compensated
by a corresponding error in the colour flow).
* Makefile: Changed the version number to 1.0ab (between alpha and
beta).
2003-07-21 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* lib/ThePEG.el: Added the parameter and switches functions which
were forgotten in the move from skeleton.el
2003-07-20 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* EventRecord/Step.*: Added addDecayNoCheck(tPPtr parent, tPPtr
child) and, addDecayProduct(tPPtr child) to add decay products
which are already linked with their parents.
2003-07-19 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* PDF/RemnantHandler.*, PDF/PartonExtractor.*, PDF/PartonBin.*,
PDF/PDF.*, PDF/NoRemnants.*, PDF/LeptonLeptonRemnant.*,
PDF/BaryonRemnants.*, Handlers/XComb.*,
Handlers/LastXCombInfo.icc, Handlers/CollisionHandler.cc: Removed
all traces of old strategy involving the PartonBinInfo and
RemnantInfo classes.
2003-07-16 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Utilities/DynamicLoader.cc: Added the current working directory
as a standard search path. Also added '/' between paths and
libraries if needed.
* src/Makefile: Corrected link flags for setup and run programs.
* Templates/Makefile, lib/Makefile: Moved ThePEG.el and g++dep to
the lib directory.
* Repository/EventGenerator.cc: Changed Pythia7 to ThePEG in
generateReferences().
* Handlers/StepHandler.cc: The createNewStep() function now
automatically calles useMe()
* Handlers/SubProcessHandler.*, Handlers/KinematicalCuts.*,
Handlers/EventHandler.*, Handlers/CollisionHandler.*,
Handlers/AnalysisHandler.*: Added fullclone() method to avoid
slicing when making copies in the Repository.
* Config/Makefile, Config/Makefile.common.in: Fixed correct
include path for installed makefiles.
* Makefile: install now depends on the check target to ensure the
setup and run programs are compiled.
* ../configure: Added top-level configure script which simply runs
configure in the sub-directories.
2003-07-14 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Config/Makefile: Removed config.h from DISTFILES.
* Utilities/SimplePhaseSpace.cc: CMSn now throws
ImpossibleKinematics if an infinite boost is requested.
* Utilities/UtilityBase.*: Added new setMomentum function which
doesn't boost to cms but just rotates to z-axis boosts along it
and rotates to correct angle.
* PDT/FlatDecayer.cc: Fixed precision problems for large boosts of
decay products.
2003-07-13 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Config/Makefile.install: This file is copied to the lib dir in
the installation and can be used to compile a users own .so
modules.
* lib/Makefile: The .o files included in libThePEG.so are now
explicitly listed. The .so files in the listed sub-directories are
explicitly soft-linked to the lib directory.
* Config/Makefile.common.in: .o and .so files are no longer
automatically soft-linked to the lib directory.
2003-07-12 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Templates/ThePEG.el: This elisp file will replace the old
skeleton.el. The main difference is the renaming of the p7-*
functions to thepeg-*. Also started to write specialized functions
to create standard handler classes with templates for the virtual
functions.
* EventRecord/Step.cc: In addDecayProduct() remove test to see if
children are still in the final state.
2003-07-08 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Utilities/SimplePhaseSpace.cc: Set the momentum of the first
particle rather than boosting it to avoid problems with massless
particles.
* Makefile: Hid unnecessary output with @.
* Utilities/UtilityBase.tcc: Fixed imediate returns in case ranges
of particles is empty. In setMomentum the boost version is only
tried if the invariant mass squared or the mass is non-negative,
otherwise the momentum is set directly.
* Utilities/Exception.cc: Added a debug function to print out a
range of particles (and summing their momenta).
* PDT/ParticleData.h: Added produceParticle method which takes a
Lorentz vector and a mass.
* PDF/LeptonLeptonRemnant.*: Added parameter to veto photon
remnants with too small energy fractions. Also the photons mass is
properly set to zero.
* Handlers/ClusterCollapser.cc: The procedure to find particles to
compensate with was changed so that coloured particles are tried
first and singlets only if the coloured particles were not enough.
Also required the compensating particles to have a positive
invariant mass squared to avoid boost problems.
* EventRecord/ColourSinglet.*: Introduced ColourSingletException
which is thrown if an inconsistent colour flow is detected.
2003-07-07 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Utilities/Exception.cc: Added debug function to print out
particle.
* Handlers/ClusterCollapser.cc: Fixed bug for the case where mass
of compensating particle is 0.
2003-07-05 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Utilities/UtilityBase.tcc: Fixed bug in transformToCMS(): boos
was backward.
* Utilities/UtilityBase.*: Added transformToMomentum() method.
* Utilities/SimplePhaseSpace.cc: Fixed potential problem in
getMagnitude() where impossible kinematics didn't generate an
exception due to rounding errors.
* EventRecord/Step.*: Added setCopy method.
* CLHEPWrap/Transverse.icc: Fixed bug in phi() calculation.
2003-07-04 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* PDF/PartonExtractor.cc: Messed around with the newRemnants
methods.
* Utilities/ObjectIndexer.icc: Fixed memory leak in
operator()(Int).
2003-07-03 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Handlers/StepHandler.h: Added method and member for getting the
current step from the collision handler.
* PDF/PartonExtractor.*: Changed return type on newRemnants method.
* Utilities/ObjectIndexer.*: Added const method for getting object
from index without possibility to create corresponding object.
* EventRecord/Step.*: Added insertCopy method.
2003-07-02 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* PDF/PartonBin.*: Added information about outgoing bins in
addition to the info about the incoming bin.
* PDF/PartonExtractor.*, Handlers/XComb.*,
Handlers/CollisionHandler.*: Changed to use PartonBinInstance
instead of PartonBinInfo.
* EventRecord/Step.*: Added removeDecayProducts methods.
2003-07-01 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Handlers/XComb.cc: Fixed floating underflow problem due to
uninitialized field in constructor.
2003-06-30 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Handlers/XComb.*: Prepared to use the new PartonBinInstance
class.
* PDF/PartonExtractor.*: Prepared to use the new PartonBinInstance
class.
* PDF/RemnantHandler.*, PDF/NoRemnants.*,
PDF/LeptonLeptonRemnant.*, PDF/BaryonRemnants.*: Prepared to use
the new PartonBinInstance class.
* PDF/PartonBinInstance.*: Added new class to hold info on parton
bins. Instead of a PartonBin having a ParonBinInfo to keep
temporary info, PartonBinInstance keeps a PartonBin together with
temporary info.
* CLHEPWrap/Transverse.h: Added units for input/output to streams.
2003-06-28 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* PDF/PartonExtractor.cc: Fixed association beteen partons and
parton bins for generated sub-processes (used to find PDFs for
partons).
2003-06-23 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Utilities/ObjectIndexer.*: Added templated class for dynamical
association between (reference counted) objects and indices.
* Handlers/StepHandler.*, Handlers/PartialCollisionHandler.cc: In
preparation for changing the signature of the handle() method i
StepHandler classes, StepHandler now has a method to return the
collision handler which made the call to handle(), The
corresponding member variable is set be the
PartialCollisionHandler before handle() is called. Also the
StepHandler class now has its own method to create a new step if
needed.
* PDT/FlatDecayer.cc: The scale of all decay products in a decay
is set to the squared mass of the decaying particle.
* Handlers/XComb.cc: The scale of all incoming and outgoing
partons in a sub-process is set to the hard scale.
* Handlers/DecayHandler.cc: The scale of a particle which has
decayed is set to zero.
2003-06-16 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* Repository/Repository.cc: Added code so that the load() command
will look in the ThePEG_INSTALL_PATH for a .rpo file if the given
filename did not exist.
2003-06-14 Leif Lönnblad <Leif.Lonnblad@thep.lu.se>
* First check-in of ThePEG. This is just what was previously
Pythia7 but stripped from any pythia-specific classes. Pythia7
still exists but contains only pythia-specific classes which
depend on ThePEG.
Most significant change is that the 'Misc' directory has been
removed and all classes therin has been moved to the 'Utilities'
directory.
Another change is that 'make check' now only checks the SimpleLEP
generator since the SimpleLHC generator was indirectly dependent
on the FlavourGenerator in the pythia string fragmentation classes
(used in the remnant handling).
When compiling, the full compiler and link commands are now by
default replaced by messages such as 'comiling xxx.cc ...' To see
the full commands use the make-variable SHOWCOMMAND eg. 'make -k
check SHOWCOMMAND=1'
diff --git a/Cuts/Cuts.cc b/Cuts/Cuts.cc
--- a/Cuts/Cuts.cc
+++ b/Cuts/Cuts.cc
@@ -1,417 +1,417 @@
// -*- C++ -*-
//
// This is the implementation of the non-inlined, non-templated member
// functions of the Cuts class.
//
#include "Cuts.h"
#include "ThePEG/Interface/ClassDocumentation.h"
#include "ThePEG/Interface/Parameter.h"
#include "ThePEG/Interface/RefVector.h"
#include "ThePEG/PDT/ParticleData.h"
#include "ThePEG/EventRecord/Particle.h"
#include "ThePEG/EventRecord/SubProcess.h"
#include "ThePEG/EventRecord/Collision.h"
#include "ThePEG/EventRecord/TmpTransform.h"
#include "ThePEG/Utilities/UtilityBase.h"
#ifdef ThePEG_TEMPLATES_IN_CC_FILE
// #include "Cuts.tcc"
#endif
#include "ThePEG/Persistency/PersistentOStream.h"
#include "ThePEG/Persistency/PersistentIStream.h"
using namespace ThePEG;
Cuts::~Cuts() {}
void Cuts::initialize(Energy2 smax, double Y) {
theSMax = smax;
theMHatMax = min(theMHatMax, sqrt(smax));
theY = Y;
}
void Cuts::initEvent() {
theCurrentSHat = -1.0*GeV2;
theCurrentYHat = 0.0;
}
bool Cuts::initSubProcess(Energy2 shat, double yhat) const {
theCurrentSHat = shat;
theCurrentYHat = yhat;
if ( shat <= sHatMin() || shat > sHatMax() ) return false;
if ( yhat <= yHatMin() || yhat >= yHatMax() ) return false;
double x1 = min(1.0, sqrt(shat/SMax())*exp(yhat));
if ( x1 <= x1Min() || x1 > x1Max() ) return false;
double x2 = min(1.0, sqrt(shat/SMax())*exp(-yhat));
if ( x2 <= x2Min() || x2 > x2Max() ) return false;
return true;
}
bool Cuts::passCuts(const tcPDVector & ptype, const vector<LorentzMomentum> & p,
tcPDPtr t1, tcPDPtr t2) const {
for ( int i = 0, N = p.size(); i < N; ++i )
for ( int j = 0, M = theOneCuts.size(); j < M; ++j )
if ( !theOneCuts[j]->passCuts(this, ptype[i], p[i]) ) return false;
for ( int i1 = 0, N1 = p.size() - 1; i1 < N1; ++i1 )
for ( int i2 = i1 + 1, N2 = p.size(); i2 < N2; ++i2 )
for ( int j = 0, M = theTwoCuts.size(); j < M; ++j )
if ( !theTwoCuts[j]->passCuts(this, ptype[i1], ptype[i2],
p[i1], p[i2]) ) return false;
for ( int j = 0, M = theMultiCuts.size(); j < M; ++j )
if ( !theMultiCuts[j]->passCuts(this, ptype, p) ) return false;
if ( t1 ) {
LorentzMomentum p1(0.0*GeV, 0.0*GeV, 0.5*sqrt(currentSHat()));
for ( int i = 0, N = p.size(); i < N; ++i )
for ( int j = 0, M = theTwoCuts.size(); j < M; ++j )
if ( !theTwoCuts[j]->passCuts(this, t1, ptype[i], p1, p[i],
true, false) )
return false;
}
if ( t2 ) {
LorentzMomentum p2(0.0*GeV, 0.0*GeV, -0.5*sqrt(currentSHat()));
for ( int i = 0, N = p.size(); i < N; ++i )
for ( int j = 0, M = theTwoCuts.size(); j < M; ++j )
if ( !theTwoCuts[j]->passCuts(this, t2, ptype[i], p2, p[i],
true, false) )
return false;
}
return true;
}
bool Cuts::passCuts(const tcPVector & p, tcPDPtr t1, tcPDPtr t2) const {
tcPDVector ptype(p.size());
vector<LorentzMomentum> mom(p.size());
for ( int i = 0, N = p.size(); i < N; ++i ) {
ptype[i] = p[i]->dataPtr();
mom[i] = p[i]->momentum();
}
return passCuts(ptype, mom, t1, t2);
}
bool Cuts::passCuts(const SubProcess & sub) const {
if ( !passCuts(tcPVector(sub.outgoing().begin(), sub.outgoing().end()),
sub.incoming().first->dataPtr(),
sub.incoming().second->dataPtr()) ) return false;
return true;
}
bool Cuts::passCuts(const Collision & coll) const {
tSubProPtr sub = coll.primarySubProcess();
LorentzMomentum phat = sub->incoming().first->momentum() +
sub->incoming().second->momentum();
Energy2 sh = phat.m2();
double yh = phat.rapidity() - Y();
if ( !initSubProcess(sh, yh) ) return false;
TmpTransform<tSubProPtr> tmp(sub, Utilities::getBoostToCM(sub->incoming()));
if ( !passCuts(*sub) ) return false;
return true;
}
Energy2 Cuts::minS(const tcPDVector & pv) const {
Energy2 mins = 0.0*GeV2;
for ( int i = 0, N = theMultiCuts.size(); i < N; ++i )
mins = max(mins, theMultiCuts[i]->minS(pv));
return mins;
}
Energy2 Cuts::maxS(const tcPDVector & pv) const {
- Energy2 maxs = Constants::MaxEnergy2;
+ Energy2 maxs = SMax();
for ( int i = 0, N = theMultiCuts.size(); i < N; ++i )
maxs = min(maxs, theMultiCuts[i]->maxS(pv));
return maxs;
}
Energy2 Cuts::minSij(tcPDPtr pi, tcPDPtr pj) const {
Energy2 mins = 0.0*GeV2;
for ( int i = 0, N = theTwoCuts.size(); i < N; ++i )
mins = max(mins, theTwoCuts[i]->minSij(pi, pj));
if ( mins > 0.0*GeV2 ) return mins;
mins = sqr(pi->massMin() + pj->massMin());
mins = max(mins, sqr(minKTClus(pi, pj))/4.0);
mins = max(mins, minDurham(pi, pj)*currentSHat()/2.0);
mins = max(mins, sqr(minKT(pi)*minKT(pj)*minDeltaR(pi, pj))/4.0);
return mins;
}
Energy2 Cuts::minTij(tcPDPtr pi, tcPDPtr po) const {
Energy2 mint = 0.0*GeV2;
for ( int i = 0, N = theTwoCuts.size(); i < N; ++i )
mint = max(mint, theTwoCuts[i]->minTij(pi, po));
if ( mint > 0.0*GeV2 ) return mint;
mint = max(mint, sqr(minKT(po)));
return mint;
}
double Cuts::minDeltaR(tcPDPtr pi, tcPDPtr pj) const {
double mindr = 0.0;
for ( int i = 0, N = theTwoCuts.size(); i < N; ++i )
mindr = max(mindr, theTwoCuts[i]->minDeltaR(pi, pj));
return mindr;
}
Energy Cuts::minKTClus(tcPDPtr pi, tcPDPtr pj) const {
Energy minkt = 0.0*GeV;
for ( int i = 0, N = theTwoCuts.size(); i < N; ++i )
minkt = max(minkt, theTwoCuts[i]->minKTClus(pi, pj));
return minkt;
}
double Cuts::minDurham(tcPDPtr pi, tcPDPtr pj) const {
Energy y = 0.0*GeV;
for ( int i = 0, N = theTwoCuts.size(); i < N; ++i )
y = max(y, theTwoCuts[i]->minDurham(pi, pj));
return y;
}
Energy Cuts::minKT(tcPDPtr p) const {
Energy minkt = 0.0*GeV;
for ( int i = 0, N = theOneCuts.size(); i < N; ++i )
minkt = max(minkt, theOneCuts[i]->minKT(p));
if ( minkt > 0.0*GeV ) return minkt;
minkt = minKTClus(p, tcPDPtr());
return minkt;
}
double Cuts::minEta(tcPDPtr p) const {
double mineta = -Constants::MaxRapidity;
for ( int i = 0, N = theOneCuts.size(); i < N; ++i )
mineta = max(mineta, theOneCuts[i]->minEta(p));
return mineta;
}
double Cuts::maxEta(tcPDPtr p) const {
double maxeta = Constants::MaxRapidity;
for ( int i = 0, N = theOneCuts.size(); i < N; ++i )
maxeta = min(maxeta, theOneCuts[i]->maxEta(p));
return maxeta;
}
double Cuts::minYStar(tcPDPtr p) const {
if ( currentSHat() < 0.0*GeV2 ) return -Constants::MaxRapidity;
double etamin = minEta(p);
double ytot = Y() + currentYHat();
if ( etamin > 0.0 ) {
Energy minkt = minKT(p);
Energy maxm = p->massMax();
return asinh(minkt*sinh(etamin)/sqrt(sqr(minkt) + sqr(maxm))) - ytot;
} else {
return etamin - ytot;
}
}
double Cuts::maxYStar(tcPDPtr p) const {
if ( currentSHat() < 0.0*GeV2 ) return Constants::MaxRapidity;
double etamax = maxEta(p);
double ytot = Y() + currentYHat();
if ( etamax > 0.0 ) {
return etamax - ytot;
} else {
Energy minkt = minKT(p);
Energy maxm = p->massMax();
return asinh(minkt*sinh(etamax)/sqrt(sqr(minkt) + sqr(maxm))) - ytot;
}
}
void Cuts::add(tOneCutPtr c) {
theOneCuts.push_back(c);
}
void Cuts::add(tTwoCutPtr c) {
theTwoCuts.push_back(c);
}
void Cuts::add(tMultiCutPtr c) {
theMultiCuts.push_back(c);
}
void Cuts::persistentOutput(PersistentOStream & os) const {
os << ounit(theSMax, GeV2) << theY << ounit(theCurrentSHat, GeV2)
<< theCurrentYHat << ounit(theMHatMin, GeV) << ounit(theMHatMax, GeV)
<< theYHatMin << theYHatMax
<< theX1Min << theX1Max << theX2Min << theX2Max << ounit(theScaleMin, GeV2)
<< ounit(theScaleMax, GeV2) << theOneCuts << theTwoCuts << theMultiCuts;
}
void Cuts::persistentInput(PersistentIStream & is, int) {
is >> iunit(theSMax, GeV2) >> theY >> iunit(theCurrentSHat, GeV2)
>> theCurrentYHat >> iunit(theMHatMin, GeV) >> iunit(theMHatMax, GeV)
>> theYHatMin >> theYHatMax
>> theX1Min >> theX1Max >> theX2Min >> theX2Max >> iunit(theScaleMin, GeV2)
>> iunit(theScaleMax, GeV2) >> theOneCuts >> theTwoCuts >> theMultiCuts;
}
ClassDescription<Cuts> Cuts::initCuts;
// Definition of the static class description member.
Energy Cuts::maxMHatMin() const {
return theMHatMax;
}
Energy Cuts::minMHatMax() const {
return theMHatMin;
}
Energy2 Cuts::maxScaleMin() const {
return theScaleMax;
}
Energy2 Cuts::minScaleMax() const {
return theScaleMin;
}
double Cuts::maxYHatMin() const {
return theYHatMax;
}
double Cuts::minYHatMax() const {
return theYHatMin;
}
double Cuts::maxX1Min() const {
return theX1Max;
}
double Cuts::minX1Max() const {
return theX1Min;
}
double Cuts::maxX2Min() const {
return theX2Max;
}
double Cuts::minX2Max() const {
return theX2Min;
}
void Cuts::Init() {
typedef double (ThePEG::Cuts::*IGFN)() const;
typedef void (ThePEG::Cuts::*ISFN)(double);
static ClassDocumentation<Cuts> documentation
("Cuts is a class for implementing kinematical cuts in ThePEG. The "
"class itself only implements cuts on the total momentum of the hard "
"sub-process, implemented as minimum and maximum values of \\f$x_1\\f$ "
"and \\f$x_2\\f$ (or \\f$\\hat{s}\\f$ and \\f$\\hat{y}\\f$. Further cuts "
"can be implemented either by inheriting from this base class, in which "
"the virtual cut() function should be overridden, or by assigning "
"objects of class OneCutBase, TwoCutBase and MultiCutBase defining "
"cuts on single particles, pairs of particles and groups of "
"particles respectively.");
static Parameter<Cuts,Energy> interfaceMHatMin
("MHatMin",
"The minimum allowed value of \\f$\\sqrt{\\hat{s}}\\f$.",
&Cuts::theMHatMin, GeV, 2.0*GeV, 0.0*GeV, Constants::MaxEnergy,
true, false, Interface::limited,
0, 0, 0, &Cuts::maxMHatMin, 0);
static Parameter<Cuts,Energy> interfaceMHatMax
("MHatMax",
"The maximum allowed value of \\f$\\sqrt{\\hat{s}}\\f$.",
&Cuts::theMHatMax, GeV, 100.0*GeV, 0.0*GeV, 0.0*GeV,
true, false, Interface::lowerlim,
0, 0,
&Cuts::minMHatMax, 0, 0);
static Parameter<Cuts,Energy2> interfaceScaleMin
("ScaleMin",
"The minimum allowed value of the scale to be used in PDFs and "
"coupling constants.",
&Cuts::theScaleMin, GeV2, 0.0*GeV2, 0.0*GeV2, Constants::MaxEnergy2,
true, false, Interface::limited,
0, 0, 0, &Cuts::maxScaleMin, 0);
static Parameter<Cuts,Energy2> interfaceScaleMax
("ScaleMax",
"The maximum allowed value of the scale to be used in PDFs and "
"coupling constants.",
&Cuts::theScaleMax, GeV2, 10000.0*GeV2, 0.0*GeV2, 0.0*GeV2,
true, false, Interface::lowerlim,
0, 0,
&Cuts::minScaleMax, 0, 0);
static Parameter<Cuts,double> interfaceYHatMin
("YHatMin",
"The minimum value of the rapidity of the hard sub-process "
"(wrt. the rest system of the colliding particles).",
&Cuts::theYHatMin, -10.0, 0.0, Constants::MaxRapidity,
true, false, Interface::upperlim,
(ISFN)0, (IGFN)0, (IGFN)0, &Cuts::maxYHatMin, (IGFN)0);
static Parameter<Cuts,double> interfaceYHatMax
("YHatMax",
"The maximum value of the rapidity of the hard sub-process "
"(wrt. the rest system of the colliding particles).",
&Cuts::theYHatMax, 10.0, -Constants::MaxRapidity, 0.0,
true, false, Interface::lowerlim,
(ISFN)0, (IGFN)0, &Cuts::minYHatMax, (IGFN)0, (IGFN)0);
static Parameter<Cuts,double> interfaceX1Min
("X1Min",
"The minimum value of the positive light-cone fraction of the hard "
"sub-process.",
&Cuts::theX1Min, 0.0, 0.0, 1.0,
true, false, Interface::limited,
(ISFN)0, (IGFN)0, (IGFN)0, &Cuts::maxX1Min, (IGFN)0);
static Parameter<Cuts,double> interfaceX1Max
("X1Max",
"The maximum value of the positive light-cone fraction of the hard "
"sub-process.",
&Cuts::theX1Max, 0.0, 0.0, 1.0,
true, false, Interface::limited,
(ISFN)0, (IGFN)0, &Cuts::minX1Max, (IGFN)0, (IGFN)0);
static Parameter<Cuts,double> interfaceX2Min
("X2Min",
"The minimum value of the negative light-cone fraction of the hard "
"sub-process.",
&Cuts::theX2Min, 0.0, 0.0, 1.0,
true, false, Interface::limited,
(ISFN)0, (IGFN)0, (IGFN)0, &Cuts::maxX2Min, (IGFN)0);
static Parameter<Cuts,double> interfaceX2Max
("X2Max",
"The maximum value of the negative light-cone fraction of the hard "
"sub-process.",
&Cuts::theX2Max, 0.0, 0.0, 1.0,
true, false, Interface::limited,
(ISFN)0, (IGFN)0, &Cuts::minX2Max, (IGFN)0, (IGFN)0);
static RefVector<Cuts,OneCutBase> interfaceOneCuts
("OneCuts",
"The objects defining cuts on single outgoing partons from the "
"hard sub-process.",
&Cuts::theOneCuts, -1, true, false, true, false, false);
static RefVector<Cuts,TwoCutBase> interfaceTwoCuts
("TwoCuts",
"The objects defining cuts on pairs of particles in the "
"hard sub-process.",
&Cuts::theTwoCuts, -1, true, false, true, false, false);
static RefVector<Cuts,MultiCutBase> interfaceMultiCuts
("MultiCuts",
"The objects defining cuts on sets of outgoing particles from the "
"hard sub-process.",
&Cuts::theMultiCuts, -1, true, false, true, false, false);
interfaceX1Min.rank(10);
interfaceX1Max.rank(9);
interfaceX2Min.rank(8);
interfaceX2Max.rank(7);
interfaceMHatMin.rank(6);
interfaceMHatMax.rank(5);
interfaceYHatMin.rank(4);
interfaceYHatMax.rank(3);
interfaceOneCuts.rank(2);
interfaceTwoCuts.rank(1);
}

File Metadata

Mime Type
text/x-diff
Expires
Sun, Feb 23, 2:43 PM (1 d, 7 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
4486683
Default Alt Text
(108 KB)

Event Timeline