10 #ifndef Pythia8_PartonSystems_H 11 #define Pythia8_PartonSystems_H 13 #include "Pythia8/PythiaStdlib.h" 28 pTHat(0.) {iOut.reserve(10);}
32 int iInA, iInB, iInRes;
50 void clear() {systems.resize(0);}
54 return systems.size() - 1;}
55 int sizeSys()
const {
return systems.size();}
59 void setInA(
int iSys,
int iPos) {systems[iSys].iInA = iPos;}
60 void setInB(
int iSys,
int iPos) {systems[iSys].iInB = iPos;}
61 void setInRes(
int iSys,
int iPos) {systems[iSys].iInRes = iPos;}
62 void addOut(
int iSys,
int iPos) {systems[iSys].iOut.push_back(iPos);}
63 void popBackOut(
int iSys) {systems[iSys].iOut.pop_back();}
64 void setOut(
int iSys,
int iMem,
int iPos) {systems[iSys].iOut[iMem] = iPos;}
65 void replace(
int iSys,
int iPosOld,
int iPosNew);
66 void setSHat(
int iSys,
double sHatIn) {systems[iSys].sHat = sHatIn;}
67 void setPTHat(
int iSys,
double pTHatIn) {systems[iSys].pTHat = pTHatIn;}
68 void setSizeSys(
int iSize) {systems.resize(iSize);}
71 bool hasInAB(
int iSys)
const {
return ( (systems[iSys].iInA > 0)
72 && (systems[iSys].iInB > 0) ) ;}
73 bool hasInRes(
int iSys)
const {
return (systems[iSys].iInRes > 0);}
74 bool getHard(
int iSys)
const {
return systems[iSys].hard;}
75 int getInA(
int iSys)
const {
return systems[iSys].iInA;}
76 int getInB(
int iSys)
const {
return systems[iSys].iInB;}
77 int getInRes(
int iSys)
const {
return systems[iSys].iInRes;}
78 int sizeOut(
int iSys)
const {
return systems[iSys].iOut.size();}
79 int getOut(
int iSys,
int iMem)
const {
return systems[iSys].iOut[iMem];}
80 int sizeAll(
int iSys)
const {
return (systems[iSys].iOut.size()
81 + (hasInAB(iSys) ? 2 : 0) + (hasInRes(iSys) ? 1 : 0));}
82 int getAll(
int iSys,
int iMem)
const;
83 double getSHat(
int iSys)
const {
return systems[iSys].sHat;}
84 double getPTHat(
int iSys)
const {
return systems[iSys].pTHat;}
87 int getSystemOf(
int iPos,
bool alsoIn =
false)
const;
90 int getIndexOfOut(
int iSys,
int iPos)
const;
101 vector<PartonSystem> systems;
bool hasInAB(int iSys) const
Get info on one system.
Definition: PartonSystems.h:71
PartonSystem()
Constructors.
Definition: PartonSystems.h:27
void popBack()
Remove the last system.
Definition: PartonSystems.h:96
int addSys()
Add new subsystem to list; return its index. Number of subsystems.
Definition: PartonSystems.h:53
bool hard
Stored quantities.
Definition: PartonSystems.h:31
Definition: PartonSystems.h:22
void setHard(int iSys, bool hard)
Set, add or replace info to one system.
Definition: PartonSystems.h:58
PartonSystems()
Constructor.
Definition: PartonSystems.h:47
The PartonSystems class describes the whole set of subcollisions.
Definition: PartonSystems.h:42
Header for classes to set beam momentum and interaction vertex spread.
Definition: Analysis.h:20
void clear()
Reset system list to empty.
Definition: PartonSystems.h:50