ATLAS Offline Software
PhysicsAnalysis
D3PDMaker
D3PDMakerCoreComps
python
Block.py
Go to the documentation of this file.
1
# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2
3
#
4
# @file D3PDMakerCoreComps/python/Block.py
5
# @author scott snyder <snyder@bnl.gov>
6
# @date Aug, 2009
7
# @brief Hold information about one D3PD block.
8
#
9
10
11
class
Block
:
12
"""Hold information about one D3PD block.
13
14
Attributes:
15
name: Name of this block.
16
lod: Level of detail. See below.
17
func: Function to create the block Configurable.
18
kw: Arguments to pass to the creation function.
19
20
The creation function will be called like this:
21
22
b.func (name, **b.kw)
23
24
where name is the name for the tool.
25
26
However, if b.func is a class deriving from D3PDObject, then the creation
27
function will instead be called like this:
28
29
b.func (level, name, parent_prefix, **b.kw)
30
31
LOD is used to control whether this block should be included.
32
33
In the simple case, this is an integer, and the block is included
34
if the block's level of detail is less than or equal to the
35
requested level of detail (unless the block was explicitly
36
included or excluded).
37
38
In the general case, LOD may be a function. This is called with
39
two arguments, the requested level of detail and the block filler
40
arguments. The requested level of detail will be an integer;
41
it will be 999 if the block was explicitly included, and -999
42
if the block was explicitly excluded. The block filler arguments
43
is a dictionary of keyword arguments. The LOD function should
44
return a boolean value saying whether or not the block should
45
be included. It may also alter the dictionary of arguments
46
(this overrides all other argument settings).
47
"""
48
def
__init__
(self, name, lod, func, kw):
49
self.
name
= name
50
self.
lod
= lod
51
self.
func
= func
52
self.
kw
= kw
53
self.
_hooks
= []
54
return
55
56
57
# Allow attaching hooks to a Block.
58
def
defineHook
(self, hook):
59
self.
_hooks
.append (hook)
60
return
python.Block.Block
Definition:
Block.py:11
python.Block.Block.kw
kw
Definition:
Block.py:52
python.Block.Block.func
func
Definition:
Block.py:51
python.Block.Block.defineHook
def defineHook(self, hook)
Definition:
Block.py:58
python.Block.Block._hooks
_hooks
Definition:
Block.py:53
python.Block.Block.lod
lod
Definition:
Block.py:50
python.Block.Block.name
name
Definition:
Block.py:49
python.Block.Block.__init__
def __init__(self, name, lod, func, kw)
Definition:
Block.py:48
Generated on Thu Nov 7 2024 21:10:50 for ATLAS Offline Software by
1.8.18