ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Control
RngComps
python
RngCompsConfig.py
Go to the documentation of this file.
1
"""Define functions to construct random number services
2
3
Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
4
"""
5
from
AthenaConfiguration.ComponentAccumulator
import
ComponentAccumulator
6
from
AthenaConfiguration.ComponentFactory
import
CompFactory
7
8
9
AtDSFMTGenSvc,AtRanluxGenSvc,AtRndmGenSvc,AthRNGSvc=\
10
CompFactory.getComps(
"AtDSFMTGenSvc"
,
"AtRanluxGenSvc"
,
"AtRndmGenSvc"
,
"AthRNGSvc"
)
11
12
# Translate between names in AthRNGSvc and elsewhere
13
AthEngines = {
14
"dSFMT"
:
"AtDSFMTGenSvc"
,
15
"Ranlux64"
:
"AtRanluxGenSvc"
,
16
"Ranecu"
:
"AtRndmGenSvc"
,
17
}
18
19
def
dSFMT
(seed, name="AtDSFMTGenSvc"):
20
"""Return a ComponentAccumulator containing an AtDSFMTGenSvc with seed"""
21
acc = ComponentAccumulator()
22
service =
AtDSFMTGenSvc
(name)
23
service.Seeds.append(seed)
24
acc.addService(service, primary=
True
)
25
return
acc
26
27
def
Ranlux64
(seed, name="AtRanluxGenSvc"):
28
"""Return a ComponentAccumulator containing an AtRanluxGenSvc with seed"""
29
acc = ComponentAccumulator()
30
service =
AtRanluxGenSvc
(name)
31
service.Seeds.append(seed)
32
acc.addService(service, primary=
True
)
33
return
acc
34
35
def
Ranecu
(seed, name="AtRndmGenSvc"):
36
"""Return a ComponentAccumulator containing an AtRndmGenSvc with seed"""
37
acc = ComponentAccumulator()
38
service =
AtRndmGenSvc
(name)
39
service.Seeds.append(seed)
40
acc.addService(service, primary=
True
)
41
return
acc
42
43
def
RNG
(engine="dSFMT", name="AthRNGSvc"):
44
"""Return a ComponentAccumulator containing an AthRNGSvc"""
45
acc = ComponentAccumulator()
46
service =
AthRNGSvc
(name)
47
service.EngineType = engine
48
acc.addService(service, primary=
True
)
49
return
acc
50
51
def
AthRNGSvcCfg
(flags, name="AthRNGSvc"):
52
"""Return a ComponentAccumulator containing an AthRNGSvc"""
53
acc = ComponentAccumulator()
54
service =
AthRNGSvc
(name)
55
service.EngineType = flags.Random.Engine
56
acc.addService(service, primary=
True
)
57
return
acc
58
AtDSFMTGenSvc
A random number engine manager, based on dSFMT.
Definition
AtDSFMTGenSvc.h:52
AtRanluxGenSvc
The default ATLAS random number engine manager, based on Ranlux64.
Definition
AtRanluxGenSvc.h:55
AtRndmGenSvc
A random number engine manager, based on Ranecu.
Definition
AtRndmGenSvc.h:57
AthRNGSvc
A service to manage multiple RNG streams in thread-safe way.
Definition
AthRNGSvc.h:34
RngCompsConfig.dSFMT
dSFMT(seed, name="AtDSFMTGenSvc")
Definition
RngCompsConfig.py:19
RngCompsConfig.AthRNGSvcCfg
AthRNGSvcCfg(flags, name="AthRNGSvc")
Definition
RngCompsConfig.py:51
RngCompsConfig.Ranecu
Ranecu(seed, name="AtRndmGenSvc")
Definition
RngCompsConfig.py:35
RngCompsConfig.Ranlux64
Ranlux64(seed, name="AtRanluxGenSvc")
Definition
RngCompsConfig.py:27
RngCompsConfig.RNG
RNG(engine="dSFMT", name="AthRNGSvc")
Definition
RngCompsConfig.py:43
Generated on
for ATLAS Offline Software by
1.17.0