Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-07-26 08:21:58

0001 /** TRACCC library, part of the ACTS project (R&D line)
0002  *
0003  * (c) 2022-2024 CERN for the benefit of the ACTS project
0004  *
0005  * Mozilla Public License Version 2.0
0006  */
0007 
0008 #pragma once
0009 
0010 // Local include(s).
0011 #include "traccc/definitions/primitives.hpp"
0012 #include "traccc/edm/container.hpp"
0013 
0014 // System include(s).
0015 #include <cstdint>
0016 
0017 namespace traccc {
0018 
0019 /// Definition of a truth particle
0020 struct particle {
0021   std::uint64_t particle_id;
0022   int particle_type;
0023   int process;
0024   point3 vertex;
0025   scalar time;
0026   vector3 momentum;
0027   scalar mass;
0028   scalar charge;
0029 };
0030 
0031 inline bool operator<(const particle& lhs, const particle& rhs) {
0032   if (lhs.particle_id < rhs.particle_id) {
0033     return true;
0034   }
0035   return false;
0036 }
0037 
0038 /// Declare all particle collection types
0039 using particle_collection_types = collection_types<particle>;
0040 /// Declare all particle container types
0041 using particle_container_types = container_types<particle, unsigned int>;
0042 
0043 }  // namespace traccc