Geant4
9.6.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4ErrorTrajState.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
// $Id$
27
//
28
// ------------------------------------------------------------
29
// GEANT 4 class implementation file
30
// ------------------------------------------------------------
31
//
32
33
#include "
G4ErrorTrajState.hh
"
34
#include "
G4ParticleTable.hh
"
35
#include "
G4ParticleDefinition.hh
"
36
#include "
G4ErrorPropagatorData.hh
"
37
38
#include <iomanip>
39
40
//--------------------------------------------------------------------------
41
G4ErrorTrajState::G4ErrorTrajState
(
const
G4String
& partType,
42
const
G4Point3D
& pos,
43
const
G4Vector3D
& mom,
44
const
G4ErrorTrajErr
& errmat)
45
: fParticleType(partType), fPosition(pos), fMomentum(mom), fCharge(0.),
46
fError(errmat), theTSType(
G4eTS_FREE
), theG4Track(0)
47
{
48
iverbose
=
G4ErrorPropagatorData::verbose
();
49
}
50
51
52
//--------------------------------------------------------------------------
53
G4int
G4ErrorTrajState::PropagateError
(
const
G4Track
* )
54
{
55
G4cerr
<<
"ERROR - G4ErrorTrajState::PropagateError()"
<<
G4endl
56
<<
" Called for trajectory state type "
57
<<
G4int
(
GetTSType
()) <<
G4endl
;
58
G4Exception
(
"G4ErrorTrajState::PropagateError"
,
"GEANT4e-Error"
,
59
FatalException
,
"Wrong trajectory state type"
);
60
return
-1;
61
}
62
63
64
//--------------------------------------------------------------------------
65
void
G4ErrorTrajState::UpdatePosMom
(
const
G4Point3D
& pos,
66
const
G4Vector3D
& mom )
67
{
68
fPosition
= pos;
69
fMomentum
= mom;
70
}
71
72
73
//--------------------------------------------------------------------------
74
void
G4ErrorTrajState::SetData
(
const
G4String
& partType,
75
const
G4Point3D
& pos,
const
G4Vector3D
& mom )
76
{
77
fParticleType
= partType;
78
BuildCharge
();
79
fPosition
= pos;
80
fMomentum
= mom;
81
}
82
83
84
//--------------------------------------------------------------------------
85
void
G4ErrorTrajState::BuildCharge
()
86
{
87
G4ParticleTable
* particleTable =
G4ParticleTable::GetParticleTable
();
88
G4ParticleDefinition
* particle = particleTable->
FindParticle
(
fParticleType
);
89
if
( particle == 0)
90
{
91
G4cerr
<<
"ERROR - G4ErrorTrajState::BuildCharge()"
<<
G4endl
92
<<
" Particle type not defined: "
<<
fParticleType
<<
G4endl
;
93
G4Exception
(
"G4ErrorTrajState::BuildCharge()"
,
"GEANT4e-error"
,
94
FatalException
,
"Particle type not defined!"
);
95
}
96
else
97
{
98
fCharge
= particle->
GetPDGCharge
();
99
}
100
}
101
102
103
//------------------------------------------------------------------------
104
void
G4ErrorTrajState::DumpPosMomError
( std::ostream& out )
const
105
{
106
out << *
this
;
107
}
108
109
110
//--------------------------------------------------------------------------
111
std::ostream&
operator<<
(std::ostream& out,
const
G4ErrorTrajState
& ts)
112
{
113
// long mode = out.setf(std::ios::fixed,std::ios::floatfield);
114
out
115
<<
" G4ErrorTrajState of type "
<< ts.
theTSType
<<
" : partycle: "
116
<< ts.
fParticleType
<<
" position: "
<< std::setw(6) << ts.
fPosition
117
<<
" momentum: "
<< ts.
fMomentum
118
<<
" error matrix "
;
119
G4cout
<< ts.
fError
<<
G4endl
;
120
121
return
out;
122
}
123
G4ErrorPropagatorData.hh
operator<<
std::ostream & operator<<(std::ostream &out, const G4ErrorTrajState &ts)
Definition:
G4ErrorTrajState.cc:111
G4ErrorTrajState.hh
G4eTS_FREE
@ G4eTS_FREE
Definition:
G4ErrorTrajState.hh:47
FatalException
@ FatalException
Definition:
G4ExceptionSeverity.hh:60
G4ParticleDefinition.hh
G4ParticleTable.hh
G4int
int G4int
Definition:
G4Types.hh:66
G4endl
#define G4endl
Definition:
G4ios.hh:52
G4cerr
G4DLLIMPORT std::ostream G4cerr
G4cout
G4DLLIMPORT std::ostream G4cout
G4ErrorPropagatorData::verbose
static G4int verbose()
Definition:
G4ErrorPropagatorData.cc:63
G4ErrorSymMatrix
Definition:
G4ErrorSymMatrix.hh:44
G4ErrorTrajState
Definition:
G4ErrorTrajState.hh:50
G4ErrorTrajState::DumpPosMomError
void DumpPosMomError(std::ostream &out=G4cout) const
Definition:
G4ErrorTrajState.cc:104
G4ErrorTrajState::fPosition
G4Point3D fPosition
Definition:
G4ErrorTrajState.hh:125
G4ErrorTrajState::fParticleType
G4String fParticleType
Definition:
G4ErrorTrajState.hh:124
G4ErrorTrajState::fError
G4ErrorTrajErr fError
Definition:
G4ErrorTrajState.hh:128
G4ErrorTrajState::PropagateError
virtual G4int PropagateError(const G4Track *)
Definition:
G4ErrorTrajState.cc:53
G4ErrorTrajState::UpdatePosMom
void UpdatePosMom(const G4Point3D &pos, const G4Vector3D &mom)
Definition:
G4ErrorTrajState.cc:65
G4ErrorTrajState::iverbose
G4int iverbose
Definition:
G4ErrorTrajState.hh:134
G4ErrorTrajState::BuildCharge
void BuildCharge()
Definition:
G4ErrorTrajState.cc:85
G4ErrorTrajState::SetData
void SetData(const G4String &partType, const G4Point3D &pos, const G4Vector3D &mom)
Definition:
G4ErrorTrajState.cc:74
G4ErrorTrajState::fMomentum
G4Vector3D fMomentum
Definition:
G4ErrorTrajState.hh:126
G4ErrorTrajState::G4ErrorTrajState
G4ErrorTrajState()
Definition:
G4ErrorTrajState.hh:53
G4ErrorTrajState::fCharge
G4double fCharge
Definition:
G4ErrorTrajState.hh:127
G4ErrorTrajState::GetTSType
virtual G4eTSType GetTSType() const
Definition:
G4ErrorTrajState.hh:119
G4ErrorTrajState::theTSType
G4eTSType theTSType
Definition:
G4ErrorTrajState.hh:130
G4ParticleDefinition
Definition:
G4ParticleDefinition.hh:68
G4ParticleDefinition::GetPDGCharge
G4double GetPDGCharge() const
Definition:
G4ParticleDefinition.hh:119
G4ParticleTable
Definition:
G4ParticleTable.hh:65
G4ParticleTable::FindParticle
G4ParticleDefinition * FindParticle(G4int PDGEncoding)
Definition:
G4ParticleTable.cc:472
G4ParticleTable::GetParticleTable
static G4ParticleTable * GetParticleTable()
Definition:
G4ParticleTable.cc:63
G4String
Definition:
G4String.hh:105
G4Track
Definition:
G4Track.hh:72
HepGeom::Point3D< G4double >
HepGeom::Vector3D< G4double >
G4Exception
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition:
G4Exception.cc:41
geant4-v9.6.0
source
error_propagation
src
G4ErrorTrajState.cc
Generated by
1.9.6