ATLAS Offline Software
Loading...
Searching...
No Matches
Node.py File Reference

noqa: ATL902 More...

Go to the source code of this file.

Classes

class  python.Node.Node

Namespaces

namespace  python
namespace  python.Node

Functions

 python.Node.notDefined (flags, name)
 python.Node.decode_flags (flags, domain=None)
 python.Node.update_flags (flags, node, domain="")
 python.Node.topnode (flags)

Variables

int python.Node._UNLOCKED = 0
int python.Node._LOCKED = 1
int python.Node._LOCKED_FOREVER = 2

Detailed Description

noqa: ATL902

   Node class to represent flags as an actual tree.
   When requesting a feature (node or flag) from a node, 
   the precendence is:

    1. Node or flag from this current local node
    2. Dynamically loaded node or flag on this local node
    3. Node or flag on the top level node 
    4. Dynamically loaded node or flag on the top level node

   because of this, a local node with the same name as a
   top level node will always mask the top level node, so if you 
   have a local node and you want to explicitly access that top 
   level node, then use the idiom

      topnode(flags).MyNode

   or, should you have a lot of such nodes

      topflags = topnode(Mode)
      topflasgs.MyNode

   If you need to configure a sub-algorithm where that algorithm
   configuration lives outside the domain of the current node, then
   you can do things like

      # on node flags.SomeDomain, 
      AlgConfig( flags.TopDomain.NewDomain ) 
Author
sutt
Date
Tue 11 Aug 2026 19:04:50 BST
Id
Node.py, v0.0 Tue 11 Aug 2026 19:04:50 BST sutt

Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration

Definition in file Node.py.