Geant4
11.2.2
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
#include "
G4BOptrForceCollisionTrackData.hh
"
27
#include "
G4BOptrForceCollision.hh
"
28
29
G4BOptrForceCollisionTrackData::G4BOptrForceCollisionTrackData
(
const
G4BOptrForceCollision
* optr )
30
:
G4VAuxiliaryTrackInformation
(),
31
fForceCollisionOperator( optr )
32
{
33
fForceCollisionState =
ForceCollisionState::free
;
34
}
35
36
G4BOptrForceCollisionTrackData::~G4BOptrForceCollisionTrackData
()
37
{
38
if
( fForceCollisionState !=
ForceCollisionState::free
)
39
{
40
G4ExceptionDescription
ed;
41
ed <<
"Track deleted while under G4BOptrForceCollision biasing scheme of operator `"
;
42
if
( fForceCollisionOperator ==
nullptr
) ed <<
"(none)"
;
else
ed << fForceCollisionOperator->
GetName
();
43
ed <<
"'. Will result in inconsistencies."
;
44
G4Exception
(
" G4BOptrForceCollisionTrackData::~G4BOptrForceCollisionTrackData()"
,
45
"BIAS.GEN.19"
,
46
JustWarning
,
47
ed);
48
}
49
}
50
51
void
G4BOptrForceCollisionTrackData::Print
()
const
52
{
53
G4cout
<<
" G4BOptrForceCollisionTrackData object : "
<<
this
<<
G4endl
;
54
G4cout
<<
" Force collision operator : "
;
if
( fForceCollisionOperator ==
nullptr
)
G4cout
<<
"(none)"
;
else
G4cout
<< fForceCollisionOperator->
GetName
();
G4cout
<<
G4endl
;
55
G4cout
<<
" Force collision state : "
;
56
switch
( fForceCollisionState )
57
{
58
case
ForceCollisionState::free
:
59
G4cout
<<
"free from biasing "
;
60
break
;
61
case
ForceCollisionState::toBeCloned
:
62
G4cout
<<
"to be cloned "
;
63
break
;
64
case
ForceCollisionState::toBeForced
:
65
G4cout
<<
"to be interaction forced "
;
66
break
;
67
case
ForceCollisionState::toBeFreeFlight
:
68
G4cout
<<
"to be free flight forced (under weight = 0) "
;
69
break
;
70
default
:
71
break
;
72
}
73
G4cout
<<
G4endl
;
74
}
G4BOptrForceCollisionTrackData.hh
ForceCollisionState::toBeCloned
@ toBeCloned
ForceCollisionState::toBeFreeFlight
@ toBeFreeFlight
ForceCollisionState::toBeForced
@ toBeForced
ForceCollisionState::free
@ free
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:36
G4BOptrForceCollisionTrackData::G4BOptrForceCollisionTrackData
G4BOptrForceCollisionTrackData(const G4BOptrForceCollision *)
Definition
G4BOptrForceCollisionTrackData.cc:29
G4BOptrForceCollisionTrackData::Print
void Print() const
Definition
G4BOptrForceCollisionTrackData.cc:51
G4BOptrForceCollision
Definition
G4BOptrForceCollision.hh:58
G4VAuxiliaryTrackInformation
Definition
G4VAuxiliaryTrackInformation.hh:55
G4VBiasingOperator::GetName
const G4String GetName() const
Definition
G4VBiasingOperator.hh:288
geant4-v11.2.2
source
processes
biasing
generic
src
G4BOptrForceCollisionTrackData.cc
Generated by
1.12.0