ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Simulation
G4Extensions
G4ExternalDecay
G4ExternalDecay
Pythia8ForDecays.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
// Abused from Geant4 version of Pythai6.hh from extended examples
6
7
#ifndef Pythia8ForDecays_H
8
#define Pythia8ForDecays_H
9
10
// For std::vector
11
#include <vector>
12
// G4 track function parameter
13
#include "G4Track.hh"
14
// For std::pair
15
#include <utility>
16
// For all the various Pythia8 classes used here
17
#include "
Pythia8_i/Pythia8_i.h
"
18
// For unique_ptr
19
#include <memory>
20
#include "
CxxUtils/checker_macros.h
"
21
22
class
G4DynamicParticle;
23
class
G4ParticleDefinition;
24
25
class
ATLAS_NOT_THREAD_SAFE
Pythia8ForDecays
26
{
27
public
:
28
Pythia8ForDecays
();
29
virtual
~Pythia8ForDecays
() =
default
;
30
32
void
Py1ent
(
const
G4Track&, std::vector<G4DynamicParticle*> &);
33
34
private
:
36
G4ParticleDefinition*
GetParticleDefinition
(
const
int
)
const
;
37
39
void
fillParticle
(
const
G4Track&, Pythia8::Event& event)
const
;
40
42
std::pair<int,int>
fromIdWithGluino
(
int
idRHad, Pythia8::Rndm* rndmPtr)
const
;
43
std::pair<int,int>
fromIdWithSquark
(
int
idRHad)
const
;
44
bool
isGluinoRHadron
(
int
pdgId)
const
;
45
47
std::unique_ptr<Pythia8::Pythia>
m_pythia
;
48
};
49
50
#endif
51
Pythia8_i.h
checker_macros.h
Define macros for attributes used to control the static checker.
ATLAS_NOT_THREAD_SAFE
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
Definition
checker_macros.h:212
Pythia8ForDecays::fillParticle
void fillParticle(const G4Track &, Pythia8::Event &event) const
Fill a Pythia8 event with the information from a G4Track.
Definition
Pythia8ForDecays.cxx:152
Pythia8ForDecays::GetParticleDefinition
G4ParticleDefinition * GetParticleDefinition(const int) const
Helper for getting G4ParticleDefinition from PDG ID.
Definition
Pythia8ForDecays.cxx:62
Pythia8ForDecays::isGluinoRHadron
bool isGluinoRHadron(int pdgId) const
Definition
Pythia8ForDecays.cxx:166
Pythia8ForDecays::fromIdWithSquark
std::pair< int, int > fromIdWithSquark(int idRHad) const
Definition
Pythia8ForDecays.cxx:71
Pythia8ForDecays::~Pythia8ForDecays
virtual ~Pythia8ForDecays()=default
Pythia8ForDecays::Pythia8ForDecays
Pythia8ForDecays()
Definition
Pythia8ForDecays.cxx:35
Pythia8ForDecays::Py1ent
void Py1ent(const G4Track &, std::vector< G4DynamicParticle * > &)
Function that decays the RHadron; returns products in G4 format.
Definition
Pythia8ForDecays.cxx:185
Pythia8ForDecays::m_pythia
std::unique_ptr< Pythia8::Pythia > m_pythia
The instance of Pythia8 that will do the work.
Definition
Pythia8ForDecays.h:47
Pythia8ForDecays::fromIdWithGluino
std::pair< int, int > fromIdWithGluino(int idRHad, Pythia8::Rndm *rndmPtr) const
Get the quarks from a gluino R-hadron. From Pythia8 code.
Definition
Pythia8ForDecays.cxx:93
Generated on
for ATLAS Offline Software by
1.17.0