Geant4 VMC
Version 6.8
Toggle main menu visibility
Loading...
Searching...
No Matches
source
global
src
TG4Verbose.cxx
Go to the documentation of this file.
1
//------------------------------------------------
2
// The Geant4 Virtual Monte Carlo package
3
// Copyright (C) 2007 - 2014 Ivana Hrivnacova
4
// All rights reserved.
5
//
6
// For the licensing terms see geant4_vmc/LICENSE.
7
// Contact: root-vmc@cern.ch
8
//-------------------------------------------------
9
14
15
#include "
TG4Verbose.h
"
16
17
// static data members
18
const
G4int
TG4Verbose::fgkDefaultVerboseLevel
= 1;
19
const
G4String
TG4Verbose::fgkDirectoryName
=
"/mcVerbose/"
;
20
G4ThreadLocal G4int
TG4Verbose::fgCounter
= 0;
21
G4ThreadLocal
TG4VerboseMessenger
*
TG4Verbose::fgMessenger
= 0;
22
23
//_____________________________________________________________________________
24
TG4Verbose::TG4Verbose
(
const
G4String& cmdName)
25
:
fVerboseLevel
(
fgkDefaultVerboseLevel
),
fCommand
(0)
26
{
28
29
CreateMessenger
();
30
31
fCommand
=
fgMessenger
->AddCommand(
this
, cmdName);
32
33
fgCounter
++;
34
}
35
36
//_____________________________________________________________________________
37
TG4Verbose::TG4Verbose
(
const
G4String& cmdName, G4int verboseLevel)
38
:
fVerboseLevel
(verboseLevel),
fCommand
(0)
39
{
41
42
CreateMessenger
();
43
44
fCommand
=
fgMessenger
->AddCommand(
this
, cmdName);
45
46
fgCounter
++;
47
}
48
49
//_____________________________________________________________________________
50
TG4Verbose::~TG4Verbose
()
51
{
53
54
// G4cout << "TG4Verbose::~TG4Verbose " << fgCounter << " " << this << G4endl;
55
56
fgCounter
--;
57
58
if
(!
fgMessenger
)
return
;
59
60
fgMessenger
->RemoveCommand(
this
,
fCommand
);
61
// fCommand is deleted by fgMessenger
62
63
if
(
fgCounter
== 0) {
64
delete
fgMessenger
;
65
fgMessenger
= 0;
66
}
67
}
68
69
//
70
// private methods
71
//
72
73
//_____________________________________________________________________________
74
TG4VerboseMessenger
*
TG4Verbose::CreateMessenger
()
75
{
77
78
if
(!
fgMessenger
) {
79
fgMessenger
=
new
TG4VerboseMessenger
(
fgkDirectoryName
);
80
}
81
82
return
fgMessenger
;
83
}
TG4Verbose.h
Definition of the TG4Verbose class.
TG4VerboseMessenger
Messenger class that defines commands for the verbose classes.
Definition
TG4VerboseMessenger.h:37
TG4Verbose::CreateMessenger
TG4VerboseMessenger * CreateMessenger()
Definition
TG4Verbose.cxx:74
TG4Verbose::fCommand
G4UIcommand * fCommand
verbose command
Definition
TG4Verbose.h:67
TG4Verbose::TG4Verbose
TG4Verbose()
Not implemented.
TG4Verbose::fgkDirectoryName
static const G4String fgkDirectoryName
directory name
Definition
TG4Verbose.h:61
TG4Verbose::fgkDefaultVerboseLevel
static const G4int fgkDefaultVerboseLevel
default verbose level
Definition
TG4Verbose.h:60
TG4Verbose::fgCounter
static G4ThreadLocal G4int fgCounter
object counter
Definition
TG4Verbose.h:62
TG4Verbose::fgMessenger
static G4ThreadLocal TG4VerboseMessenger * fgMessenger
messenger
Definition
TG4Verbose.h:63
TG4Verbose::~TG4Verbose
virtual ~TG4Verbose()
Definition
TG4Verbose.cxx:50
TG4Verbose::fVerboseLevel
G4int fVerboseLevel
verbose level
Definition
TG4Verbose.h:66
Generated on
for Geant4 VMC by
1.17.0