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
G4OpticalPhysicsMessenger.hh
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
//
27
//
28
//---------------------------------------------------------------------------
29
//
30
// ClassName: G4OpticalPhysicsMessenger
31
//
32
// Author: P.Gumplinger 30.09.2009
33
//
34
// Modified: P.Gumplinger 29.09.2011
35
// (based on code from I. Hrivnacova)
36
//
37
//----------------------------------------------------------------------------
38
//
39
// This class defines commands for the optical physics
40
//
41
42
#ifndef G4OpticalPhysicsMessenger_h
43
#define G4OpticalPhysicsMessenger_h 1
44
45
#include "
globals.hh
"
46
47
#include "
G4UImessenger.hh
"
48
#include "
G4OpticalProcessIndex.hh
"
49
50
class
G4VProcess
;
51
class
G4OpticalPhysics
;
52
53
class
G4UIdirectory
;
54
class
G4UIcmdWithABool
;
55
class
G4UIcmdWithADouble
;
56
class
G4UIcmdWithAString
;
57
class
G4UIcmdWithAnInteger
;
58
class
G4UIcommand
;
59
60
// Messenger class that defines commands for the optical physics
61
//
62
// Implements commands:
63
// - /process/optical/processActivation proc_name flag
64
// - /process/optical/verbose level
65
// - /process/optical/setTrackSecondariesFirst proc_name flag
66
// - /process/optical/defaults/cerenkov/setMaxPhotons val
67
// - /process/optical/defaults/cerenkov/setMaxBetaChange val
68
// - /process/optical/defaults/cerenkov/setStackPhotons flag
69
// - /process/optical/defaults/scintillation/setYieldFactor val
70
// - /process/optical/defaults/scintillation/setByParticleType val
71
// - /process/optical/defaults/scintillation/setFiniteRiseTime val
72
// - /process/optical/defaults/scintillation/setStackPhotons flag
73
// - /process/optical/defaults/wls/setTimeProfile val
74
// - /process/optical/defaults/boundary/setInvokeSD flag
75
76
class
G4OpticalPhysicsMessenger
:
public
G4UImessenger
77
{
78
public
:
79
80
G4OpticalPhysicsMessenger
(
G4OpticalPhysics
*);
81
virtual
~G4OpticalPhysicsMessenger
();
82
83
// methods
84
virtual
void
SetNewValue
(
G4UIcommand
*,
G4String
);
85
86
private
:
87
89
G4OpticalPhysicsMessenger
();
91
G4OpticalPhysicsMessenger
(
const
G4OpticalPhysicsMessenger
&
right
);
93
G4OpticalPhysicsMessenger
& operator=(
const
G4OpticalPhysicsMessenger
& right);
94
95
// data members
96
98
G4OpticalPhysics
* fOpticalPhysics;
99
101
G4UIdirectory
* fDir;
102
G4UIdirectory
* fDir2;
103
105
G4OpticalProcessIndex
fSelectedProcessIndex;
106
108
G4UIcommand
* fActivateProcessCmd;
109
110
112
G4UIcmdWithAnInteger
* fSetOpProcessVerboseCmd;
113
115
G4UIcmdWithAnInteger
* fSetCerenkovMaxPhotonsCmd;
116
118
G4UIcmdWithADouble
* fSetCerenkovMaxBetaChangeCmd;
119
121
G4UIcmdWithABool
* fSetCerenkovStackPhotonsCmd;
122
124
G4UIcmdWithADouble
* fSetScintillationYieldFactorCmd;
125
127
G4UIcmdWithABool
* fSetScintillationByParticleTypeCmd;
128
130
G4UIcmdWithABool
* fSetScintillationTrackInfoCmd;
131
133
G4UIcmdWithABool
* fSetScintillationStackPhotonsCmd;
134
135
// /// setOpticalSurfaceModel command
136
// G4UIcmdWithAString* fSetOpticalSurfaceModelCmd;
137
139
G4UIcmdWithAString
* fSetWLSTimeProfileCmd;
140
142
G4UIcommand
* fSetTrackSecondariesFirstCmd;
143
145
G4UIcmdWithABool
* fSetFiniteRiseTimeCmd;
146
148
G4UIcmdWithABool
* fSetInvokeSDCmd;
149
150
};
151
152
#endif // G4OpticalPhysicsMessenger_h
G4OpticalPhysicsMessenger::SetNewValue
virtual void SetNewValue(G4UIcommand *, G4String)
Definition:
G4OpticalPhysicsMessenger.cc:215
right
Definition:
F04UserTrackInformation.hh:37
G4UIdirectory
Definition:
G4UIdirectory.hh:41
G4OpticalProcessIndex
G4OpticalProcessIndex
Definition:
G4OpticalProcessIndex.hh:51
G4UImessenger.hh
G4OpticalPhysicsMessenger::~G4OpticalPhysicsMessenger
virtual ~G4OpticalPhysicsMessenger()
Definition:
G4OpticalPhysicsMessenger.cc:193
G4OpticalPhysicsMessenger
Definition:
G4OpticalPhysicsMessenger.hh:76
G4VProcess
Definition:
G4VProcess.hh:75
G4UIcommand
Definition:
G4UIcommand.hh:51
G4UIcmdWithAnInteger
Definition:
G4UIcmdWithAnInteger.hh:41
G4UIcmdWithABool
Definition:
G4UIcmdWithABool.hh:45
globals.hh
G4UIcmdWithAString
Definition:
G4UIcmdWithAString.hh:42
G4OpticalProcessIndex.hh
G4UImessenger
Definition:
G4UImessenger.hh:47
G4UIcmdWithADouble
Definition:
G4UIcmdWithADouble.hh:41
G4OpticalPhysics
Definition:
G4OpticalPhysics.hh:61
G4String
Definition:
G4String.hh:45
source
geant4.10.03.p03
source
physics_lists
constructors
electromagnetic
include
G4OpticalPhysicsMessenger.hh
Generated on Tue Nov 28 2017 21:44:02 for Geant4 by
1.8.5