ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Simulation
G4Extensions
RHadrons
src
RHadronPythiaDecayer.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
// Header for my class
6
#include "
RHadronPythiaDecayer.h
"
7
8
// The actual decayers. Singleton classes, not toolhandles
9
10
11
// For passing things around
12
#include "CLHEP/Vector/LorentzVector.h"
13
#include "G4Track.hh"
14
#include "G4DynamicParticle.hh"
15
#include "G4DecayProducts.hh"
16
17
RHadronPythiaDecayer::RHadronPythiaDecayer
(
const
std::string& s )
18
: G4VExtDecayer(s)
19
{
20
}
21
22
G4DecayProducts*
RHadronPythiaDecayer::ImportDecayProducts
(
const
G4Track& aTrack){
23
G4DecayProducts * dp =
new
G4DecayProducts();
24
dp->SetParentParticle( *(aTrack.GetDynamicParticle()) );
25
26
// get properties for later print outs
27
G4double etot = aTrack.GetDynamicParticle()->GetTotalEnergy();
28
G4int pdgEncoding = aTrack.GetDefinition()->GetPDGEncoding();
29
30
// Outgoing particle
31
std::vector<G4DynamicParticle*> particles;
32
33
// Pythia8 decay the particle and import the decay products
34
m_pythia
.Py1ent(aTrack, particles);
35
36
G4cout <<
"Decayed an RHadron with ID "
<< pdgEncoding <<
" and momentum "
<< aTrack.GetMomentum() <<
" in Pythia. Decay products are:"
<< G4endl;
37
double
totalE=0.0;
38
for
(
unsigned
int
i=0; i<particles.size(); ++i){
39
if
(particles[i]) {
40
dp->PushProducts(particles[i]);
41
totalE += particles[i]->GetTotalEnergy();
42
}
43
else
{
44
G4cout << i <<
" null pointer!"
<< G4endl;
45
}
46
}
47
48
G4cout <<
"Total energy in was "
<<etot << G4endl;
49
G4cout <<
"Total energy out is "
<<totalE << G4endl;
50
51
dp->DumpInfo();
52
53
return
dp;
54
}
RHadronPythiaDecayer.h
RHadronPythiaDecayer::RHadronPythiaDecayer
RHadronPythiaDecayer(const std::string &s)
Definition
RHadronPythiaDecayer.cxx:17
RHadronPythiaDecayer::ImportDecayProducts
virtual G4DecayProducts * ImportDecayProducts(const G4Track &)
Definition
RHadronPythiaDecayer.cxx:22
RHadronPythiaDecayer::m_pythia
Pythia8ForDecays m_pythia
Definition
RHadronPythiaDecayer.h:23
Generated on
for ATLAS Offline Software by
1.17.0