Json Geometry Hierarchy Map
Within the code base the Acts::GeometryHierarchyMap
container is used
to map values into the geometry hierarchy. This could be e.g. track finder cuts
that are different for different parts of the detector. To simplify run-time
configuration, Acts::GeometryHierarchyMap
can be encoded/decode to/from
the following Json format. The encoded value is a Json object with two entries:
the header Json object in acts-geometry-hierarchy-map
to identify the file
and value type and provide versioning for forward-compatibility, and a Json
array in entries
that contains the values.
{
"acts-geometry-hierarchy-map": {
"format-version": 0,
"value-identifier": "<user-defined-identifier>"
},
"entries": [
{
"_comment": "global default entry w/o identifier",
"value": "..."
},
{
"volume": 1,
"layer": 2,
"value": "..."
},
{
"volume": 3,
"value": "..."
}
]
}
Each entry is a Json object that contains the encoded content of the
Acts::GeometryIdentifier
key and the associated value. Each level
within the Acts::GeometryIdentifier
is specified by name and stored as
an integer. If a given level is not explicitly specified it is assumed to be
zero.
{
"volume": "<integer>",
"boundary": "<integer>",
"layer": "<integer>",
"approach": "<integer>",
"sensitive": "<integer>",
"value": "..."
}
The representation of the value is not specified and depends on the specific type.