# 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": <interger>,
"sensitive": <integer>,
"value": ...
}


The representation of the value is not specified and depends on the specific type.