VMC Examples
Version 6.7
Toggle main menu visibility
Main Page
Related Pages
Topics
Namespaces
Namespace List
Namespace Members
All
Functions
Variables
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
1
2
3
6
a
b
c
d
e
f
g
h
i
k
m
n
o
p
r
s
t
u
~
Functions
1
2
3
6
a
b
c
d
e
f
g
h
i
m
o
p
r
s
t
u
~
Variables
c
f
n
Enumerations
Enumerator
Files
File List
File Members
All
3
b
c
e
f
g
h
i
l
m
n
o
r
s
t
u
v
Functions
b
c
g
h
i
l
m
n
o
r
s
t
u
v
Variables
Typedefs
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Modules
Pages
Loading...
Searching...
No Matches
examples
A01
geant4
src
B5MagneticField.cxx
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: B5MagneticField.cc 77656 2013-11-27 08:52:57Z gcosmo $
27
//
28
/// \file B5MagneticField.cxx
29
/// \brief Implementation of the B5MagneticField class
30
31
#include "
B5MagneticField.hh
"
32
33
#include "G4GenericMessenger.hh"
34
#include "G4SystemOfUnits.hh"
35
#include "globals.hh"
36
37
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
38
39
B5MagneticField::B5MagneticField
()
40
:
G4MagneticField
(),
fMessenger
(0),
fBy
(1.0 * tesla)
41
{
42
// define commands for this class
43
DefineCommands
();
44
}
39
B5MagneticField::B5MagneticField
() {
…
}
45
46
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
47
48
B5MagneticField::~B5MagneticField
() {
delete
fMessenger
; }
49
50
void
B5MagneticField::GetFieldValue
(
const
G4double[4],
double
* bField)
const
51
{
52
bField[0] = 0.;
53
bField[1] =
fBy
;
54
bField[2] = 0.;
55
}
50
void
B5MagneticField::GetFieldValue
(
const
G4double[4],
double
* bField)
const
{
…
}
56
57
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
58
59
void
B5MagneticField::DefineCommands
()
60
{
61
// Define /B5/field command directory using generic messenger class
62
fMessenger
=
new
G4GenericMessenger(
this
,
"/B5/field/"
,
"Field control"
);
63
64
// fieldValue command
65
G4GenericMessenger::Command& valueCmd =
fMessenger
->DeclareMethodWithUnit(
66
"value"
,
"tesla"
, &
B5MagneticField::SetField
,
"Set field strength."
);
67
valueCmd.SetParameterName(
"field"
,
true
);
68
valueCmd.SetDefaultValue(
"1."
);
69
}
59
void
B5MagneticField::DefineCommands
() {
…
}
70
71
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
B5MagneticField.hh
Definition of the B5MagneticField class.
B5MagneticField::GetFieldValue
virtual void GetFieldValue(const G4double point[4], double *bField) const
Definition
B5MagneticField.cxx:50
B5MagneticField::B5MagneticField
B5MagneticField()
Definition
B5MagneticField.cxx:39
B5MagneticField::fMessenger
G4GenericMessenger * fMessenger
Definition
B5MagneticField.hh:55
B5MagneticField::SetField
void SetField(G4double val)
Definition
B5MagneticField.hh:49
B5MagneticField::fBy
G4double fBy
Definition
B5MagneticField.hh:56
B5MagneticField::~B5MagneticField
virtual ~B5MagneticField()
Definition
B5MagneticField.cxx:48
B5MagneticField::DefineCommands
void DefineCommands()
Definition
B5MagneticField.cxx:59
G4MagneticField
Generated on Tue Apr 1 2025 13:04:57 for VMC Examples by
1.13.2