ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Simulation
G4Extensions
Gauginos
src
GauginosPhysicsTool.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
// class header
6
#include "
GauginosPhysicsTool.h
"
7
8
#include <memory>
9
// package headers
10
#include "GMSBNeutralino.hh"
11
#include "GMSBGravitino.hh"
12
// Geant4 physics lists
13
#include "G4ProcessManager.hh"
14
#include "G4ParticleTable.hh"
15
#include "G4hIonisation.hh"
16
#include "G4hMultipleScattering.hh"
17
#include "G4ParticleDefinition.hh"
18
#include "G4Transportation.hh"
19
#include "G4MuIonisation.hh"
20
// CLHEP headers
21
#include "CLHEP/Units/SystemOfUnits.h"
22
23
//-----------------------------------------------------------------------------
24
// Implementation file for class : GauginosPhysicsTool
25
//
26
// 15-05-2015 : Edoardo Farina
27
//-----------------------------------------------------------------------------
28
29
//=============================================================================
30
// Standard constructor, initializes variables
31
//=============================================================================
32
GauginosPhysicsTool::GauginosPhysicsTool
(
const
std::string&
type
,
33
const
std::string& nam,
const
IInterface* parent )
34
: base_class (
type
, nam , parent )
35
{
36
m_physicsOptionType = G4AtlasPhysicsOption::Type::BSMPhysics;
37
38
declareProperty(
"GravitinoMass"
,
39
m_GravitinoParams
.mass = 0.108E-04 * CLHEP::GeV,
40
"Gravitino Mass"
);
41
declareProperty(
"GravitinoWidth"
,
m_GravitinoParams
.width = 0. * CLHEP::GeV,
42
"Gravitino Width"
);
43
declareProperty(
"GravitinoCharge"
,
m_GravitinoParams
.charge = 0,
44
"Gravitino charge"
);
45
declareProperty(
"GravitinoPDGCode"
,
m_GravitinoParams
.pdgCode = 1000039,
46
"Gravitino PDG CODE"
);
47
declareProperty(
"GravitinoLifetime"
,
m_GravitinoParams
.lifetime = -1,
48
"Gravitino Lifetime"
);
49
declareProperty(
"GravitinoStable"
,
m_GravitinoParams
.stable =
true
,
50
"Gravitino Stable"
);
51
declareProperty(
"GravitinoShortlived"
,
m_GravitinoParams
.shortlived =
false
,
52
"Gravitino Shortlived"
);
53
54
declareProperty(
"NeutralinoMass"
,
55
m_NeutralinoParams
.mass = 118.848 * CLHEP::GeV,
56
"Neutralino Mass"
);
57
declareProperty(
"NeutralinoWidth"
,
m_NeutralinoParams
.width = 0. * CLHEP::GeV,
58
"Neutralino Width"
);
59
declareProperty(
"NeutralinoCharge"
,
m_NeutralinoParams
.charge = 0,
60
"Neutralino charge"
);
61
declareProperty(
"NeutralinoPDGCode"
,
m_NeutralinoParams
.pdgCode = 1000022,
62
"Neutralino PDG CODE"
);
63
declareProperty(
"NeutralinoStable"
,
m_NeutralinoParams
.stable =
true
,
64
"Neutralino Stable"
);
65
declareProperty(
"NeutralinoLifetime"
,
m_NeutralinoParams
.lifetime = -1,
66
"Neutralino Lifetime"
);
67
declareProperty(
"NeutralinoShortlived"
,
m_NeutralinoParams
.shortlived =
false
,
68
"Neutralino Shortlived"
);
69
}
70
71
//=============================================================================
72
// Destructor
73
//=============================================================================
74
75
GauginosPhysicsTool::~GauginosPhysicsTool
()
76
{
77
}
78
79
//=============================================================================
80
// Initialize
81
//=============================================================================
82
StatusCode
GauginosPhysicsTool::initialize
( )
83
{
84
ATH_MSG_DEBUG
(
"GauginosPhysicsTool initialize( )"
);
85
86
return
StatusCode::SUCCESS;
87
}
88
89
auto
GauginosPhysicsTool::GetPhysicsOption
() -> UPPhysicsConstructor {
90
return
std::make_unique<GauginosPhysicsTool::PhysicsConstructor>(
91
name(), msgLevel(), *
this
);
92
}
93
94
void
GauginosPhysicsTool::PhysicsConstructor::ConstructParticle
() {
95
ATH_MSG_DEBUG
(
"Create particle of Gauginos"
);
96
GMSBNeutralino::Definition(
97
m_NeutralinoParams
.mass,
m_NeutralinoParams
.width,
98
m_NeutralinoParams
.charge,
m_NeutralinoParams
.pdgCode,
99
m_NeutralinoParams
.stable,
m_NeutralinoParams
.lifetime,
100
m_NeutralinoParams
.shortlived);
101
GMSBGravitino::Definition(
102
m_GravitinoParams
.mass,
m_GravitinoParams
.width,
m_GravitinoParams
.charge,
103
m_GravitinoParams
.pdgCode,
m_GravitinoParams
.stable,
104
m_GravitinoParams
.lifetime,
m_GravitinoParams
.shortlived);
105
}
106
107
void
GauginosPhysicsTool::PhysicsConstructor::ConstructProcess
() {
108
ATH_MSG_DEBUG
(
" Construct Process for the Gauginos being run"
);
109
}
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition
AthMsgStreamMacros.h:29
GauginosPhysicsTool.h
GauginosPhysicsTool::PhysicsConstructor::m_NeutralinoParams
ParticleDefinitionParams const & m_NeutralinoParams
Definition
GauginosPhysicsTool.h:51
GauginosPhysicsTool::PhysicsConstructor::ConstructParticle
virtual void ConstructParticle() override
Definition
GauginosPhysicsTool.cxx:94
GauginosPhysicsTool::PhysicsConstructor::ConstructProcess
virtual void ConstructProcess() override
Definition
GauginosPhysicsTool.cxx:107
GauginosPhysicsTool::PhysicsConstructor::m_GravitinoParams
ParticleDefinitionParams const & m_GravitinoParams
Definition
GauginosPhysicsTool.h:50
GauginosPhysicsTool::GauginosPhysicsTool
GauginosPhysicsTool(const std::string &type, const std::string &name, const IInterface *parent)
Standard constructor.
Definition
GauginosPhysicsTool.cxx:32
GauginosPhysicsTool::GetPhysicsOption
virtual UPPhysicsConstructor GetPhysicsOption() override final
Implements.
Definition
GauginosPhysicsTool.cxx:89
GauginosPhysicsTool::m_GravitinoParams
ParticleDefinitionParams m_GravitinoParams
Definition
GauginosPhysicsTool.h:55
GauginosPhysicsTool::initialize
virtual StatusCode initialize() override final
Initialize method.
Definition
GauginosPhysicsTool.cxx:82
GauginosPhysicsTool::m_NeutralinoParams
ParticleDefinitionParams m_NeutralinoParams
Definition
GauginosPhysicsTool.h:56
GauginosPhysicsTool::~GauginosPhysicsTool
virtual ~GauginosPhysicsTool()
Destructor.
Definition
GauginosPhysicsTool.cxx:75
type
Generated on
for ATLAS Offline Software by
1.17.0