This is the declaration of the ClusterFinder class.
This class scans through the particles in the event and produces a collection of clusters, defined as a colour-singlet combinations of colour-connected particles. There are no assumptions about the type (i.e. quark or diquark) or number of the component particles of the cluster (however most of the time clusters are formed by quark-antiquark pairs; but in special situations, as baryon-violating processes in R-nonconserved Susy, three quarks (or three antiquarks) could form a cluster). Because at the moment we don't know how to handle 3-component clusters (i.e. how to fission heavy ones, or how to decay clusters), we provide also a separate method, reduceToTwoComponents, which does the job of redefining these 3-component clusters as "normal" 2-component ones, simply by randomly considering two (anti-) quarks as a (anti-) diquark. Notice that if in the future the method reduceToTwoComponents is modified or even eliminated, the main method for finding clusters, formClusters, will not need any change.
CLASS
Pythia7::PartialCollisionHandler;