Geant4
10.03.p03
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
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: G4ErrorTrajState.cc 78318 2013-12-11 15:02:40Z gcosmo $
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
std::ostringstream message;
56
message <<
"Wrong trajectory state type !"
<<
G4endl
57
<<
"Called for trajectory state type: "
<<
G4int
(
GetTSType
());
58
G4Exception
(
"G4ErrorTrajState::PropagateError()"
,
"GEANT4e-Error"
,
59
FatalException
, message);
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
std::ostringstream message;
92
message <<
"Particle type not defined: "
<<
fParticleType
;
93
G4Exception
(
"G4ErrorTrajState::BuildCharge()"
,
"GEANT4e-error"
,
94
FatalException
, message);
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
G4ErrorTrajState::fCharge
G4double fCharge
Definition:
G4ErrorTrajState.hh:127
G4ErrorTrajState::SetData
void SetData(const G4String &partType, const G4Point3D &pos, const G4Vector3D &mom)
Definition:
G4ErrorTrajState.cc:74
G4ErrorTrajState::fPosition
G4Point3D fPosition
Definition:
G4ErrorTrajState.hh:125
G4ParticleTable::FindParticle
G4ParticleDefinition * FindParticle(G4int PDGEncoding)
Definition:
G4ParticleTable.cc:566
HepGeom::Point3D< G4double >
G4ErrorTrajState::theTSType
G4eTSType theTSType
Definition:
G4ErrorTrajState.hh:130
G4ErrorTrajState::G4ErrorTrajState
G4ErrorTrajState()
Definition:
G4ErrorTrajState.hh:53
G4ErrorTrajState::iverbose
G4int iverbose
Definition:
G4ErrorTrajState.hh:134
G4ErrorPropagatorData.hh
G4ErrorTrajState::fError
G4ErrorTrajErr fError
Definition:
G4ErrorTrajState.hh:128
G4ParticleDefinition
Definition:
G4ParticleDefinition.hh:72
G4int
int G4int
Definition:
G4Types.hh:78
G4ErrorTrajState.hh
G4cout
G4GLOB_DLL std::ostream G4cout
G4ParticleTable.hh
G4ParticleTable
Definition:
G4ParticleTable.hh:65
G4ParticleDefinition.hh
G4ErrorTrajState::DumpPosMomError
void DumpPosMomError(std::ostream &out=G4cout) const
Definition:
G4ErrorTrajState.cc:104
G4Exception
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition:
G4Exception.cc:41
G4ErrorTrajState
Definition:
G4ErrorTrajState.hh:49
G4eTS_FREE
Definition:
G4ErrorTrajState.hh:47
G4ParticleTable::GetParticleTable
static G4ParticleTable * GetParticleTable()
Definition:
G4ParticleTable.cc:96
G4ErrorTrajState::PropagateError
virtual G4int PropagateError(const G4Track *)
Definition:
G4ErrorTrajState.cc:53
G4ErrorPropagatorData::verbose
static G4int verbose()
Definition:
G4ErrorPropagatorData.cc:63
G4ErrorTrajState::fParticleType
G4String fParticleType
Definition:
G4ErrorTrajState.hh:124
G4ErrorTrajState::GetTSType
virtual G4eTSType GetTSType() const
Definition:
G4ErrorTrajState.hh:119
FatalException
Definition:
G4ExceptionSeverity.hh:60
HepGeom::BasicVector3D::operator<<
std::ostream & operator<<(std::ostream &, const BasicVector3D< float > &)
Definition:
BasicVector3D.cc:107
G4Track
Definition:
G4Track.hh:76
G4endl
#define G4endl
Definition:
G4ios.hh:61
G4ErrorSymMatrix
Definition:
G4ErrorSymMatrix.hh:43
G4ErrorTrajState::UpdatePosMom
void UpdatePosMom(const G4Point3D &pos, const G4Vector3D &mom)
Definition:
G4ErrorTrajState.cc:65
G4ErrorTrajState::fMomentum
G4Vector3D fMomentum
Definition:
G4ErrorTrajState.hh:126
G4ParticleDefinition::GetPDGCharge
G4double GetPDGCharge() const
Definition:
G4ParticleDefinition.hh:124
pos
static const G4double pos
Definition:
G4ElectroNuclearCrossSection.cc:66
G4ErrorTrajState::BuildCharge
void BuildCharge()
Definition:
G4ErrorTrajState.cc:85
HepGeom::Vector3D< G4double >
G4String
Definition:
G4String.hh:45
source
geant4.10.03.p03
source
error_propagation
src
G4ErrorTrajState.cc
Generated on Tue Nov 28 2017 21:43:54 for Geant4 by
1.8.5