Geant4
v4-10.4-release
메인 페이지
관련된 페이지
모듈
네임스페이스
클래스
파일들
파일 목록
파일 멤버
모두
클래스
네임스페이스들
파일들
함수
변수
타입정의
열거형 타입
열거형 멤버
Friends
매크로
그룹들
페이지들
source
visualization
modeling
src
G4TrajectoryDrawByCharge.cc
이 파일의 문서화 페이지로 가기
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: G4TrajectoryDrawByCharge.cc 66373 2012-12-18 09:41:34Z gcosmo $
27
//
28
// Jane Tinslay, John Allison, Joseph Perl November 2005
29
#include "
G4TrajectoryDrawByCharge.hh
"
30
#include "
G4TrajectoryDrawerUtils.hh
"
31
#include "
G4VisTrajContext.hh
"
32
#include "
G4VTrajectory.hh
"
33
#include <sstream>
34
35
G4TrajectoryDrawByCharge::G4TrajectoryDrawByCharge
(
const
G4String
&
name
,
G4VisTrajContext
*
context
)
36
:
G4VTrajectoryModel
(name, context)
37
{
38
// Default configuration
39
fMap
[
Positive
] =
G4Colour::Blue
();
40
fMap
[
Negative
] =
G4Colour::Red
();
41
fMap
[
Neutral
] =
G4Colour::Green
();
42
}
43
44
G4TrajectoryDrawByCharge::G4TrajectoryDrawByCharge
(
const
G4String
&
name
,
45
const
G4Colour
& positive,
46
const
G4Colour
& negative,
47
const
G4Colour
& neutral)
48
:
G4VTrajectoryModel
(name)
49
{
50
fMap
[
Positive
] = positive;
51
fMap
[
Negative
] = negative;
52
fMap
[
Neutral
] = neutral;
53
}
54
55
G4TrajectoryDrawByCharge::~G4TrajectoryDrawByCharge
() {}
56
57
void
58
G4TrajectoryDrawByCharge::Draw
(
const
G4VTrajectory
& traj,
const
G4bool
& visible)
const
59
{
60
G4Colour
colour;
61
62
const
G4double
charge = traj.
GetCharge
();
63
64
if
(charge>0.)
fMap
.
GetColour
(
Positive
, colour);
65
else
if
(charge<0.)
fMap
.
GetColour
(
Negative
, colour);
66
else
fMap
.
GetColour
(
Neutral
, colour);
67
68
G4VisTrajContext
myContext(
GetContext
());
69
70
myContext.
SetLineColour
(colour);
71
myContext.
SetVisible
(visible);
72
73
if
(
GetVerbose
()) {
74
G4cout
<<
"G4TrajectoryDrawByCharge drawer named "
<<
Name
();
75
G4cout
<<
", drawing trajectory with charge, "
<<charge<<
G4endl
;
76
G4cout
<<
", with configuration:"
<<
G4endl
;
77
myContext.
Print
(
G4cout
);
78
}
79
80
G4TrajectoryDrawerUtils::DrawLineAndPoints
(traj, myContext);
81
}
82
83
void
84
G4TrajectoryDrawByCharge::Print
(std::ostream& ostr)
const
85
{
86
ostr<<
"G4TrajectoryDrawByCharge model "
<<
Name
() <<
" colour scheme: "
<<std::endl;
87
fMap
.
Print
(ostr);
88
ostr<<
"Default configuration:"
<<
G4endl
;
89
GetContext
().
Print
(
G4cout
);
90
}
91
92
void
93
G4TrajectoryDrawByCharge::Set
(
const
Charge
& charge,
const
G4String
& colour)
94
{
95
fMap
.
Set
(charge, colour);
96
}
97
98
void
99
G4TrajectoryDrawByCharge::Set
(
const
Charge
& charge,
const
G4Colour
& colour)
100
{
101
fMap
[charge] = colour;
102
}
103
104
void
105
G4TrajectoryDrawByCharge::Set
(
const
G4String
& charge,
const
G4String
& colour)
106
{
107
Charge
myCharge;
108
109
if
(!
ConvertToCharge
(charge, myCharge)) {
110
G4ExceptionDescription
ed;
111
ed <<
"Invalid charge "
<<charge;
112
G4Exception
113
(
"G4TrajectoryDrawByCharge::Set(const G4int& charge, const G4String& colour)"
,
"modeling0121"
,
JustWarning
, ed);
114
return
;
115
}
116
117
return
Set
(myCharge, colour);
118
}
119
120
void
121
G4TrajectoryDrawByCharge::Set
(
const
G4String
& charge,
const
G4Colour
& colour)
122
{
123
Charge
myCharge;
124
125
if
(!
ConvertToCharge
(charge, myCharge)) {
126
G4ExceptionDescription
ed;
127
ed <<
"Invalid charge "
<<charge;
128
G4Exception
129
(
"G4TrajectoryDrawByCharge::Set(const G4int& charge, const G4Colour& colour)"
,
"modeling0122"
,
JustWarning
, ed);
130
}
131
132
return
Set
(myCharge, colour);
133
}
134
135
G4bool
136
G4TrajectoryDrawByCharge::ConvertToCharge
(
const
G4String
&
string
,
Charge
& myCharge)
137
{
138
bool
result
(
true
);
139
140
G4int
charge;
141
std::istringstream is(
string
.c_str());
142
is >> charge;
143
144
switch
(charge) {
145
case
1:
146
myCharge =
G4TrajectoryDrawByCharge::Positive
;
147
break
;
148
case
0:
149
myCharge =
G4TrajectoryDrawByCharge::Neutral
;
150
break
;
151
case
-1:
152
myCharge =
G4TrajectoryDrawByCharge::Negative
;
153
break
;
154
default
:
155
result =
false
;
156
}
157
158
return
result
;
159
}
G4TrajectoryDrawerUtils::DrawLineAndPoints
void DrawLineAndPoints(const G4VTrajectory &traj, const G4VisTrajContext &)
Definition:
G4TrajectoryDrawerUtils.cc:315
name
const XML_Char * name
Definition:
expat.h:151
G4VTrajectoryModel::GetContext
const G4VisTrajContext & GetContext() const
Definition:
G4VTrajectoryModel.cc:54
G4ModelColourMap::Print
void Print(std::ostream &ostr) const
Definition:
G4ModelColourMap.hh:124
G4ExceptionDescription
std::ostringstream G4ExceptionDescription
Definition:
G4Exception.hh:45
G4TrajectoryDrawByCharge::fMap
G4ModelColourMap< Charge > fMap
Definition:
G4TrajectoryDrawByCharge.hh:77
G4TrajectoryDrawByCharge::Neutral
Definition:
G4TrajectoryDrawByCharge.hh:47
G4TrajectoryDrawByCharge::Print
virtual void Print(std::ostream &ostr) const
Definition:
G4TrajectoryDrawByCharge.cc:84
G4Colour
Definition:
G4Colour.hh:83
G4endl
#define G4endl
Definition:
G4ios.hh:61
G4String
Definition:
examples/extended/parallel/TopC/ParN02/AnnotatedFiles/G4String.hh:45
G4VTrajectoryModel
Definition:
G4VTrajectoryModel.hh:44
G4TrajectoryDrawerUtils.hh
G4TrajectoryDrawByCharge::Negative
Definition:
G4TrajectoryDrawByCharge.hh:47
G4VisTrajContext::SetVisible
void SetVisible(const G4bool &visible)
G4TrajectoryDrawByCharge::Set
void Set(const Charge &charge, const G4Colour &colour)
Definition:
G4TrajectoryDrawByCharge.cc:99
G4TrajectoryDrawByCharge::G4TrajectoryDrawByCharge
G4TrajectoryDrawByCharge(const G4String &name="Unspecified", G4VisTrajContext *context=0)
Definition:
G4TrajectoryDrawByCharge.cc:35
JustWarning
Definition:
G4ExceptionSeverity.hh:64
G4double
double G4double
Definition:
G4Types.hh:76
G4bool
bool G4bool
Definition:
G4Types.hh:79
G4TrajectoryDrawByCharge::Charge
Charge
Definition:
G4TrajectoryDrawByCharge.hh:47
G4VTrajectory::GetCharge
virtual G4double GetCharge() const =0
G4Colour::Blue
static G4Colour Blue()
Definition:
G4Colour.hh:162
G4VisTrajContext.hh
G4TrajectoryDrawByCharge::Positive
Definition:
G4TrajectoryDrawByCharge.hh:47
G4TrajectoryDrawByCharge::ConvertToCharge
G4bool ConvertToCharge(const G4String &, Charge &)
Definition:
G4TrajectoryDrawByCharge.cc:136
G4VTrajectory.hh
G4ModelColourMap::GetColour
bool GetColour(const T &, G4Colour &) const
Definition:
G4ModelColourMap.hh:110
result
G4double G4ParticleHPJENDLHEData::G4double result
Definition:
G4ParticleHPJENDLHEData.cc:257
G4VTrajectoryModel::Name
G4String Name() const
Definition:
G4VTrajectoryModel.cc:62
G4Exception
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
Definition:
G4Exception.hh:65
G4TrajectoryDrawByCharge.hh
context
const XML_Char * context
Definition:
expat.h:434
G4int
int G4int
Definition:
G4Types.hh:78
G4Colour::Red
static G4Colour Red()
Definition:
G4Colour.hh:160
G4TrajectoryDrawByCharge::Draw
virtual void Draw(const G4VTrajectory &trajectory, const G4bool &visible=true) const
Definition:
G4TrajectoryDrawByCharge.cc:58
G4Colour::Green
static G4Colour Green()
Definition:
G4Colour.hh:161
G4ModelColourMap::Set
void Set(const T &, const G4Colour &)
Definition:
G4ModelColourMap.hh:99
G4cout
G4GLOB_DLL std::ostream G4cout
G4TrajectoryDrawByCharge::~G4TrajectoryDrawByCharge
virtual ~G4TrajectoryDrawByCharge()
Definition:
G4TrajectoryDrawByCharge.cc:55
G4VTrajectoryModel::GetVerbose
G4bool GetVerbose() const
Definition:
G4VTrajectoryModel.cc:74
G4VisTrajContext
Definition:
G4VisTrajContext.hh:36
G4VTrajectory
Definition:
G4VTrajectory.hh:57
G4VisTrajContext::Print
void Print(std::ostream &ostr) const
G4VisTrajContext::SetLineColour
void SetLineColour(const G4Colour &colour)
다음에 의해 생성됨 :
1.8.5