This is the declaration of the CollisionHandler class.
CollisionHandler is the main class for generating collisions, from the incoming pair of particles via the extraction of partons, the hard sub-process and the production of remnants. It is derived from the PartialCollisionHandler which is used to perform all the subsequent steps needed for generating a full collision.
The CollisionHandler has a list of SubProcessHandlers, which in turn has a PartonExtractor and a list of PartonXSecFns. When initialized, the CollisionHandler is given a list of intervals s in invariant mass squared of the incoming particles. For each interval each SubProcessHandler is asked to return a list of XComb objects, one for each possible combination of incoming partons, interval in invariant parton-parton invariant mass squared shat and hard parton-parton matrix element, containing the maximum cross section and other info needed for selecting and generating the corresponding sub-process.
When run, the CollisionHandler picks a XComb object at random and performs the corresponding sub-process, then uses the PartialCollisionHandler base class to perform all subsequent steps to produce the full collision.
The CollisionHandler has also a KinematicalCuts object which is responsible for restricting the kinematics of the sub-process and produced collision.
The CollisionHandler is not intended to be sub-classes by the user. Modify the behavior of the CollisionHandler is instead achieved by assigning different SubProcess and KinematicalCuts objects.
The CollisionHandler class also inherits from the LastXCombInfo class (via the PartialCollisionHandler base class) to have easy interface to the information in the last selected XComb.
PartialCollisionHandler.h SubProcessHandler.h PartonExtractor.h PartonXSecFn.h XComb.h KinematicalCuts.h EventHandler.h
CLASS
CollisionHandler:
STRUCT
BaseClassTrait<CollisionHandler,1>
STRUCT
ClassTraits<CollisionHandler>: