Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-12-16 10:12:58

0001 /*
0002  * Copyright (c) 2014-2024 Key4hep-Project.
0003  *
0004  * This file is part of Key4hep.
0005  * See https://key4hep.github.io/key4hep-doc/ for further info.
0006  *
0007  * Licensed under the Apache License, Version 2.0 (the "License");
0008  * you may not use this file except in compliance with the License.
0009  * You may obtain a copy of the License at
0010  *
0011  *     http://www.apache.org/licenses/LICENSE-2.0
0012  *
0013  * Unless required by applicable law or agreed to in writing, software
0014  * distributed under the License is distributed on an "AS IS" BASIS,
0015  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
0016  * See the License for the specific language governing permissions and
0017  * limitations under the License.
0018  */
0019 #ifndef EDM4HEP_CONSTANTS_H
0020 #define EDM4HEP_CONSTANTS_H
0021 
0022 #include <cstdint>
0023 
0024 namespace edm4hep {
0025 namespace labels {
0026   static constexpr const char* CellIDEncoding = "CellIDEncoding";
0027   static constexpr const char* EventHeader = "EventHeader";
0028   static constexpr const char* EventWeightsNames = "EventWeightNames";
0029   static constexpr const char* ShapeParameterNames = "shapeParameterNames";
0030   static constexpr const char* EventFilterStats = "EventFilterStats";
0031   /// The canonical name for the main MCParticle collection
0032   static constexpr const char* MCParticles = "MCParticles";
0033   /// The collection parameter name for accessing the names of the parameters for
0034   /// a ParticleID collection
0035   static constexpr const char* PIDParameterNames = "ParameterNames";
0036   static constexpr const char* PIDAlgoName = "AlgoName";
0037   static constexpr const char* PIDAlgoType = "AlgoType";
0038 
0039   // Parameter names for Generator level metadata
0040   static constexpr const char* GeneratorToolVersions = "GeneratorToolVersions";
0041   static constexpr const char* GeneratorToolNames = "GeneratorToolNames";
0042   static constexpr const char* GeneratorToolDescriptions = "GeneratorToolDescriptions";
0043   static constexpr const char* GeneratorEventParameters = "GeneratorEventParameters";
0044   static constexpr const char* GeneratorWeightNames = "GeneratorWeightNames";
0045 } // namespace labels
0046 
0047 // Use 16 bits to encode the dimension
0048 // Could go to 8 bits, but would need a fix in podio first
0049 using DimType = std::uint16_t;
0050 
0051 /// The enum for accessing cartesian coordinate values in covariance matrices
0052 enum class Cartesian : DimType { x = 0, y, z };
0053 
0054 /// The enum for accessing four momentum coordinate values in covariance
0055 /// matrices
0056 enum class FourMomCoords : DimType { x = 0, y, z, t };
0057 
0058 /// The enum for accessing track parameter values in covariance matrices
0059 enum class TrackParams : DimType { d0 = 0, phi, omega, z0, tanLambda, time };
0060 
0061 /// Enum for accessing the covariance matrix in the TrackerPulse
0062 enum class TrackerPulseDims : DimType { charge = 0, time };
0063 
0064 } // namespace edm4hep
0065 
0066 #endif // EDM4HEP_CONSTANTS_H