ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
Home page
Related Pages
Modules
Namespaces
Classes
Files
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
G4MolecularDissociationChannel.hh
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4MolecularDissociationChannel.hh
1
//
2
// ********************************************************************
3
// * License and Disclaimer *
4
// * *
5
// * The Geant4 software is copyright of the Copyright Holders of *
6
// * the Geant4 Collaboration. It is provided under the terms and *
7
// * conditions of the Geant4 Software License, included in the file *
8
// * LICENSE and available at http://cern.ch/geant4/license . These *
9
// * include a list of copyright holders. *
10
// * *
11
// * Neither the authors of this software system, nor their employing *
12
// * institutes,nor the agencies providing financial support for this *
13
// * work make any representation or warranty, express or implied, *
14
// * regarding this software system or assume any liability for its *
15
// * use. Please see the license in the file LICENSE and URL above *
16
// * for the full disclaimer and the limitation of liability. *
17
// * *
18
// * This code implementation is the result of the scientific and *
19
// * technical work of the GEANT4 collaboration. *
20
// * By using, copying, modifying or distributing the software (or *
21
// * any work based on the software) you agree to acknowledge its *
22
// * use in resulting scientific publications, and indicate your *
23
// * acceptance of all terms of the Geant4 Software license. *
24
// ********************************************************************
25
//
26
// Contact: Mathieu Karamitros (kara (AT) cenbg . in2p3 . fr)
27
//
28
// WARNING : This class is released as a prototype.
29
// It might strongly evolve or even disapear in the next releases.
30
//
31
// The code is developed in the framework of the ESA AO7146
32
//
33
// We would be very happy hearing from you, send us your feedback! :)
34
//
35
// In order for Geant4-DNA to be maintained and still open-source,
36
// article citations are crucial.
37
// If you use Geant4-DNA chemistry and you publish papers about your software,
38
// in addition to the general paper on Geant4-DNA:
39
//
40
// Int. J. Model. Simul. Sci. Comput. 1 (2010) 157–178
41
//
42
// we ask that you please cite the following reference papers on chemistry:
43
//
44
// J. Comput. Phys. 274 (2014) 841-882
45
// Prog. Nucl. Sci. Tec. 2 (2011) 503-508
46
//
47
// ----------------------------------------------------------------
48
// GEANT 4 class header file
49
//
50
// History: first implementation, Alfonso Mantero 6 Mar 2009
51
// ----------------------------------------------------------------
52
//
53
54
#pragma once
55
56
#include <vector>
57
#include <map>
58
#include "
G4VMolecularDissociationDisplacer.hh
"
59
60
class
G4Molecule
;
61
class
G4MolecularConfiguration
;
62
63
class
G4MolecularDissociationChannel
64
{
65
public
:
66
G4MolecularDissociationChannel
();
67
explicit
G4MolecularDissociationChannel
(
const
G4String
&);
68
~G4MolecularDissociationChannel
() =
default
;
69
G4MolecularDissociationChannel
(
const
G4MolecularDissociationChannel
&) =
default
;
70
71
G4MolecularDissociationChannel
&
72
operator=
(
const
G4MolecularDissociationChannel
&
right
) =
default
;
73
74
using
Product
=
const
G4MolecularConfiguration
;
75
using
ProductList
= std::vector<Product*>;
76
77
public
:
78
79
void
AddProduct
(
Product
*,
G4double
displacement = 0.);
80
81
inline
void
SetName
(
const
G4String
&);
82
inline
void
SetEnergy
(
G4double
);
83
inline
void
SetProbability
(
G4double
);
84
inline
void
SetDecayTime
(
G4double
);
85
inline
void
SetRMSMotherMoleculeDisplacement
(
G4double
);
86
inline
void
SetDisplacementType
(
DisplacementType
);
87
88
89
inline
const
G4String
&
GetName
()
const
;
90
G4int
GetNbProducts
()
const
;
91
Product
*
GetProduct
(
int
)
const
;
92
inline
const
std::vector<G4double>&
GetRMSProductsDisplacement
()
const
;
93
inline
G4double
GetEnergy
()
const
;
94
inline
G4double
GetProbability
()
const
;
95
inline
G4double
GetDecayTime
()
const
;
96
inline
G4double
GetRMSMotherMoleculeDisplacement
()
const
;
97
inline
DisplacementType
GetDisplacementType
()
const
;
98
99
G4double
GetRMSRadialDisplacementOfProduct
(
Product
*);
100
101
private
:
102
DisplacementType
fDisplacementType
;
103
G4String
fName
;
104
ProductList
fProductsVector
;
105
G4double
fReleasedEnergy
;
106
G4double
fProbability
;
107
G4double
fDecayTime
;
108
// Root Mean Square radial distance jump of the mother molecule
109
G4double
fRMSMotherMoleculeDisplacement
;
110
std::vector<G4double>
fRMSProductsDisplacementVector
;
111
};
112
113
//______________________________________________________________________________
114
115
inline
void
G4MolecularDissociationChannel::SetName
(
const
G4String
&
value
)
116
{
117
fName
=
value
;
118
}
119
120
//______________________________________________________________________________
121
122
inline
void
G4MolecularDissociationChannel::SetEnergy
(
G4double
value
)
123
{
124
fReleasedEnergy
=
value
;
125
}
126
127
//______________________________________________________________________________
128
129
inline
void
G4MolecularDissociationChannel::SetProbability
(
G4double
value
)
130
{
131
fProbability
=
value
;
132
}
133
134
//______________________________________________________________________________
135
136
inline
void
G4MolecularDissociationChannel::SetDecayTime
(
G4double
value
)
137
{
138
139
fDecayTime
=
value
;
140
}
141
142
//______________________________________________________________________________
143
144
inline
void
G4MolecularDissociationChannel::
145
SetRMSMotherMoleculeDisplacement
(
G4double
value
)
146
{
147
fRMSMotherMoleculeDisplacement
=
value
;
148
}
149
150
//______________________________________________________________________________
151
152
inline
const
G4String
&
G4MolecularDissociationChannel::GetName
()
const
153
{
154
return
fName
;
155
}
156
157
//______________________________________________________________________________
158
159
inline
const
std::vector<G4double>&
160
G4MolecularDissociationChannel::GetRMSProductsDisplacement
()
const
161
{
162
return
fRMSProductsDisplacementVector
;
163
}
164
165
//______________________________________________________________________________
166
167
inline
G4double
G4MolecularDissociationChannel::GetEnergy
()
const
168
{
169
return
fReleasedEnergy
;
170
}
171
172
//______________________________________________________________________________
173
174
inline
G4double
G4MolecularDissociationChannel::GetProbability
()
const
175
{
176
return
fProbability
;
177
}
178
179
//______________________________________________________________________________
180
181
inline
G4double
G4MolecularDissociationChannel::GetDecayTime
()
const
182
{
183
return
fDecayTime
;
184
}
185
186
//______________________________________________________________________________
187
188
inline
G4double
G4MolecularDissociationChannel::
189
GetRMSMotherMoleculeDisplacement
()
const
190
{
191
return
fRMSMotherMoleculeDisplacement
;
192
}
193
194
//______________________________________________________________________________
195
196
inline
void
G4MolecularDissociationChannel::
197
SetDisplacementType
(
DisplacementType
aDisplacementType)
198
{
199
fDisplacementType
= aDisplacementType;
200
}
201
202
//______________________________________________________________________________
203
204
inline
DisplacementType
G4MolecularDissociationChannel::
205
GetDisplacementType
()
const
206
{
207
return
fDisplacementType
;
208
}
geant4
tree
geant4-10.6-release
source
processes
electromagnetic
dna
molecules
management
include
G4MolecularDissociationChannel.hh
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:30
using
1.8.2 with
ECCE GitHub integration