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": "<interger>",
"sensitive": "<integer>",
"value": "..."
}
The representation of the value is not specified and depends on the specific type.