Warning, /EICrecon/docs/design/naming_conventions.md is written in an unsupported language. File is not indexed.
0001
0002 # Naming conventions
0003
0004 ## Collection names
0005
0006 - Should generally end with the type they contain.
0007 Example: `EcalEndcapPClusters` contains type `edm4eic::Cluster`
0008
0009 - If the type name is too long and unwieldy to be used as a suffix, it can be shortened, but should be done so consistently.
0010 Example: `ReconstructedParticleAssociations` contains type `edm4eic::MCRecoParticleAssociation`
0011
0012 - The prefix describes what the collection is used for. As these names become more specific, they should append to the _front_.
0013
0014 - Collection names should be pluralized, but only at the very end.
0015 Example: `EcalEndcapPClusterAssociations`, NOT `EcalEndcapPClustersAssociations`.
0016 Note: `MatchClusters_factory` relies on the convention that all of its input collections names end in `Clusters`
0017 and have a corresponding `ClusterAssociations` collection.
0018
0019
0020 ## Factory names
0021
0022 - JFactoryT's and JFactoryPodioT's should follow the pattern `OutputTypeName_factory_CollectionName`.
0023 Example: `Cluster_factory_EcalEndcapPClusters`
0024
0025 - Multifactories, ChainFactories, and ChainMultifactories (where there are multiple output types, parameterized
0026 collection names, or both, respectively) should follow the pattern `AlgorithmName_factory`.
0027 Example: `MatchClusters_factory`
0028
0029 - If a Multifactory produces predominantly one collection (e.g. if the other output collections are just associations.
0030 or debugging data), it is okay for them to follow the pattern `OutputTypeName_factory_CollectionName`.