Geant4-11
source
persistency
mctruth
include
G4DCIOcatalog.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
// G4DCIOcatalog
27
//
28
// Class Description:
29
//
30
// Catalog for the I/O manager of digits collection for each detector
31
32
// Author: Youhei Morita, 12.09.2001
33
// --------------------------------------------------------------------
34
#ifndef G4DCIOCATALOG_HH
35
#define G4DCIOCATALOG_HH 1
36
37
#include <map>
38
#include "
G4Types.hh
"
39
#include "
G4VPDigitsCollectionIO.hh
"
40
41
class
G4VDCIOentry
;
42
43
using
DCIOmap
=
std::map
<
G4String
,
G4VDCIOentry
*,
44
std::less<G4String>>;
45
using
DCIOstore
=
std::map
<
G4String
,
G4VPDigitsCollectionIO
*,
46
std::less<G4String>>;
47
48
class
G4DCIOcatalog
49
{
50
public
:
51
52
G4DCIOcatalog
();
53
// Constructor
54
55
virtual
~G4DCIOcatalog
() {}
56
// Destructor
57
58
static
G4DCIOcatalog
*
GetDCIOcatalog
();
59
// Construct G4DCIOcatalog and returns the pointer
60
61
void
SetVerboseLevel
(
int
v) {
m_verbose
= v; }
62
// Set verbose level
63
64
void
RegisterEntry
(
G4VDCIOentry
* d);
65
// Register I/O manager entry
66
67
void
RegisterDCIOmanager
(
G4VPDigitsCollectionIO
* d);
68
// Register I/O manager
69
70
G4VDCIOentry
*
GetEntry
(
const
G4String
&
name
);
71
// Returns the I/O manager entry
72
73
G4VPDigitsCollectionIO
*
GetDCIOmanager
(
const
G4String
&
name
);
74
// Returns the registered I/O manager entry
75
76
void
PrintEntries
();
77
// Prints the list of I/O manager entries
78
79
G4String
CurrentDCIOmanager
();
80
// Returns the list of I/O managers
81
82
void
PrintDCIOmanager
();
83
// Prints the list of I/O managers
84
85
std::size_t
NumberOfDCIOmanager
() {
return
theStore
.size(); }
86
// Returns the number of registered I/O managers
87
88
G4VPDigitsCollectionIO
*
GetDCIOmanager
(
G4int
n
);
89
// Returns the n-th registered I/O manager entry
90
91
private
:
92
93
G4int
m_verbose
= 0;
94
static
G4ThreadLocal
G4DCIOcatalog
*
f_thePointer
;
95
DCIOmap
theCatalog
;
96
DCIOstore
theStore
;
97
};
98
99
#endif
DCIOstore
std::map< G4String, G4VPDigitsCollectionIO *, std::less< G4String > > DCIOstore
Definition:
G4DCIOcatalog.hh:46
DCIOmap
std::map< G4String, G4VDCIOentry *, std::less< G4String > > DCIOmap
Definition:
G4DCIOcatalog.hh:44
G4Types.hh
G4int
int G4int
Definition:
G4Types.hh:85
G4VPDigitsCollectionIO.hh
G4DCIOcatalog
Definition:
G4DCIOcatalog.hh:49
G4DCIOcatalog::f_thePointer
static G4ThreadLocal G4DCIOcatalog * f_thePointer
Definition:
G4DCIOcatalog.hh:94
G4DCIOcatalog::PrintDCIOmanager
void PrintDCIOmanager()
Definition:
G4DCIOcatalog.cc:140
G4DCIOcatalog::RegisterEntry
void RegisterEntry(G4VDCIOentry *d)
Definition:
G4DCIOcatalog.cc:50
G4DCIOcatalog::PrintEntries
void PrintEntries()
Definition:
G4DCIOcatalog.cc:118
G4DCIOcatalog::SetVerboseLevel
void SetVerboseLevel(int v)
Definition:
G4DCIOcatalog.hh:61
G4DCIOcatalog::~G4DCIOcatalog
virtual ~G4DCIOcatalog()
Definition:
G4DCIOcatalog.hh:55
G4DCIOcatalog::GetEntry
G4VDCIOentry * GetEntry(const G4String &name)
Definition:
G4DCIOcatalog.cc:86
G4DCIOcatalog::CurrentDCIOmanager
G4String CurrentDCIOmanager()
Definition:
G4DCIOcatalog.cc:129
G4DCIOcatalog::theStore
DCIOstore theStore
Definition:
G4DCIOcatalog.hh:96
G4DCIOcatalog::m_verbose
G4int m_verbose
Definition:
G4DCIOcatalog.hh:93
G4DCIOcatalog::G4DCIOcatalog
G4DCIOcatalog()
Definition:
G4DCIOcatalog.cc:37
G4DCIOcatalog::GetDCIOcatalog
static G4DCIOcatalog * GetDCIOcatalog()
Definition:
G4DCIOcatalog.cc:42
G4DCIOcatalog::RegisterDCIOmanager
void RegisterDCIOmanager(G4VPDigitsCollectionIO *d)
Definition:
G4DCIOcatalog.cc:68
G4DCIOcatalog::GetDCIOmanager
G4VPDigitsCollectionIO * GetDCIOmanager(const G4String &name)
Definition:
G4DCIOcatalog.cc:102
G4DCIOcatalog::theCatalog
DCIOmap theCatalog
Definition:
G4DCIOcatalog.hh:95
G4DCIOcatalog::NumberOfDCIOmanager
std::size_t NumberOfDCIOmanager()
Definition:
G4DCIOcatalog.hh:85
G4String
Definition:
G4String.hh:62
G4VDCIOentry
Definition:
G4VDCIOentry.hh:41
G4VPDigitsCollectionIO
Definition:
G4VPDigitsCollectionIO.hh:40
CLHEP::detail::n
n
Definition:
Ranlux64Engine.cc:90
G4InuclParticleNames::name
const char * name(G4int ptype)
Definition:
G4InuclParticleNames.hh:76
anonymous_namespace{G4QuasiElRatios.cc}::map
const G4double map
Definition:
G4QuasiElRatios.cc:81
G4ThreadLocal
#define G4ThreadLocal
Definition:
tls.hh:77
Generated by
1.9.3