Geant4
11.3.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4BOptrForceCollisionTrackData.cc
Go to the documentation of this file.
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
// G4BOptrForceCollisionTrackData
27
// --------------------------------------------------------------------
28
29
#include "
G4BOptrForceCollisionTrackData.hh
"
30
#include "
G4BOptrForceCollision.hh
"
31
32
G4BOptrForceCollisionTrackData::
33
G4BOptrForceCollisionTrackData
(
const
G4BOptrForceCollision
* optr )
34
:
G4VAuxiliaryTrackInformation
(),
35
fForceCollisionOperator( optr )
36
{
37
fForceCollisionState =
ForceCollisionState::free
;
38
}
39
40
G4BOptrForceCollisionTrackData::~G4BOptrForceCollisionTrackData
()
41
{
42
if
( fForceCollisionState !=
ForceCollisionState::free
)
43
{
44
G4ExceptionDescription
ed;
45
ed <<
"Track deleted while under G4BOptrForceCollision biasing scheme of operator `"
;
46
if
( fForceCollisionOperator ==
nullptr
)
47
ed <<
"(none)"
;
48
else
49
ed << fForceCollisionOperator->GetName();
50
ed <<
"'. Will result in inconsistencies."
;
51
G4Exception
(
" G4BOptrForceCollisionTrackData::~G4BOptrForceCollisionTrackData()"
,
52
"BIAS.GEN.19"
,
JustWarning
, ed);
53
}
54
}
55
56
void
G4BOptrForceCollisionTrackData::Print
()
const
57
{
58
G4cout
<<
" G4BOptrForceCollisionTrackData object : "
<<
this
<<
G4endl
;
59
G4cout
<<
" Force collision operator : "
;
60
if
( fForceCollisionOperator ==
nullptr
)
61
{
62
G4cout
<<
"(none)"
;
63
}
64
else
65
{
66
G4cout
<< fForceCollisionOperator->GetName();
67
}
68
G4cout
<<
G4endl
;
69
G4cout
<<
" Force collision state : "
;
70
switch
( fForceCollisionState )
71
{
72
case
ForceCollisionState::free
:
73
G4cout
<<
"free from biasing "
;
74
break
;
75
case
ForceCollisionState::toBeCloned
:
76
G4cout
<<
"to be cloned "
;
77
break
;
78
case
ForceCollisionState::toBeForced
:
79
G4cout
<<
"to be interaction forced "
;
80
break
;
81
case
ForceCollisionState::toBeFreeFlight
:
82
G4cout
<<
"to be free flight forced (under weight = 0) "
;
83
break
;
84
default
:
85
break
;
86
}
87
G4cout
<<
G4endl
;
88
}
G4BOptrForceCollisionTrackData.hh
ForceCollisionState::toBeCloned
@ toBeCloned
Definition
G4BOptrForceCollisionTrackData.hh:45
ForceCollisionState::toBeFreeFlight
@ toBeFreeFlight
Definition
G4BOptrForceCollisionTrackData.hh:45
ForceCollisionState::toBeForced
@ toBeForced
Definition
G4BOptrForceCollisionTrackData.hh:45
ForceCollisionState::free
@ free
Definition
G4BOptrForceCollisionTrackData.hh:45
G4BOptrForceCollision.hh
JustWarning
@ JustWarning
Definition
G4ExceptionSeverity.hh:71
G4Exception
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
Definition
G4Exception.cc:59
G4ExceptionDescription
std::ostringstream G4ExceptionDescription
Definition
G4Exception.hh:40
G4endl
#define G4endl
Definition
G4ios.hh:67
G4cout
G4GLOB_DLL std::ostream G4cout
G4BOptrForceCollisionTrackData::~G4BOptrForceCollisionTrackData
~G4BOptrForceCollisionTrackData()
Definition
G4BOptrForceCollisionTrackData.cc:40
G4BOptrForceCollisionTrackData::G4BOptrForceCollisionTrackData
G4BOptrForceCollisionTrackData(const G4BOptrForceCollision *)
Definition
G4BOptrForceCollisionTrackData.cc:33
G4BOptrForceCollisionTrackData::G4BOptrForceCollision
friend class G4BOptrForceCollision
Definition
G4BOptrForceCollisionTrackData.hh:49
G4BOptrForceCollisionTrackData::Print
void Print() const
Definition
G4BOptrForceCollisionTrackData.cc:56
G4VAuxiliaryTrackInformation::G4VAuxiliaryTrackInformation
G4VAuxiliaryTrackInformation()
Definition
G4VAuxiliaryTrackInformation.cc:33
geant4-v11.3.0
source
processes
biasing
generic
src
G4BOptrForceCollisionTrackData.cc
Generated by
1.13.2