/usr/include/Pythia8/Pythia8/BeamRemnants.h is in libpythia8-dev 8.1.80-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 | // BeamRemnants.h is a part of the PYTHIA event generator.
// Copyright (C) 2013 Torbjorn Sjostrand.
// PYTHIA is licenced under the GNU GPL version 2, see COPYING for details.
// Please respect the MCnet Guidelines, see GUIDELINES for details.
// Header file for beam-remnants handling.
// BeamRemnants: matches the remnants between the two beams.
#ifndef Pythia8_BeamRemnants_H
#define Pythia8_BeamRemnants_H
#include "Pythia8/Basics.h"
#include "Pythia8/BeamParticle.h"
#include "Pythia8/Event.h"
#include "Pythia8/FragmentationFlavZpT.h"
#include "Pythia8/Info.h"
#include "Pythia8/ParticleData.h"
#include "Pythia8/PartonDistributions.h"
#include "Pythia8/PartonSystems.h"
#include "Pythia8/PythiaStdlib.h"
#include "Pythia8/Settings.h"
namespace Pythia8 {
//==========================================================================
// This class matches the kinematics of the hard-scattering subsystems
// (with primordial kT added) to that of the two beam remnants.
class BeamRemnants {
public:
// Constructor.
BeamRemnants() : iDS(0) { }
// Initialization.
bool init( Info* infoPtrIn, Settings& settings, Rndm* rndmPtrIn,
BeamParticle* beamAPtrIn, BeamParticle* beamBPtrIn,
PartonSystems* partonSystemsPtrIn);
// New beams possible for handling of hard diffraction.
void reassignBeamPtrs( BeamParticle* beamAPtrIn, BeamParticle* beamBPtrIn,
int iDSin) {beamAPtr = beamAPtrIn; beamBPtr = beamBPtrIn; iDS = iDSin;}
// Select the flavours/kinematics/colours of the two beam remnants.
bool add( Event& event);
private:
// Constants: could only be changed in the code itself.
static const bool ALLOWCOLOURTWICE, CORRECTMISMATCH;
static const int NTRYCOLMATCH, NTRYKINMATCH;
// Initialization data, read from Settings.
bool doPrimordialKT, allowRescatter, doRescatterRestoreY, doReconnect;
double primordialKTsoft, primordialKThard, primordialKTremnant,
halfScaleForKT, halfMassForKT, reconnectRange,
pT0Ref, ecmRef, ecmPow;
// Information set for events.
int nSys, oldSize, iDS;
double eCM, sCM, pT0, pT20Rec;
// Colour collapses (when one colour is mapped onto another).
vector<int> colFrom, colTo;
// Pointer to various information on the generation.
Info* infoPtr;
// Pointer to the random number generator.
Rndm* rndmPtr;
// Pointers to the two incoming beams.
BeamParticle* beamAPtr;
BeamParticle* beamBPtr;
// Pointer to information on subcollision parton locations.
PartonSystems* partonSystemsPtr;
// Do the kinematics of the collision subsystems and two beam remnants.
bool setKinematics( Event& event);
// Allow colour reconnections.
bool reconnectColours( Event& event);
// Check that colours are consistent.
bool checkColours( Event& event);
};
//==========================================================================
} // end namespace Pythia8
#endif // Pythia8_BeamRemnants_H
|