Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:01:12

0001 // -*- C++ -*-
0002 //
0003 // This file is part of HepMC
0004 // Copyright (C) 2014-2023 The HepMC collaboration (see AUTHORS for details)
0005 //
0006 ///
0007 /// @file GenParticle_fwd.h
0008 /// @brief Minimal forward declarations for GenParticle
0009 ///
0010 
0011 #ifndef HEPMC3_GENPARTICLE_FWD_H
0012 #define HEPMC3_GENPARTICLE_FWD_H
0013 
0014 #include <memory>
0015 #include <vector>
0016 
0017 namespace HepMC3 {
0018 
0019 class GenParticle;
0020 
0021 using GenParticlePtr = std::shared_ptr<GenParticle>;
0022 using ConstGenParticlePtr = std::shared_ptr<const GenParticle>;
0023 
0024 using GenParticles = std::vector<GenParticlePtr>;
0025 using ConstGenParticles = std::vector<ConstGenParticlePtr>;
0026 
0027 /// An alias to a vector of GenParticle pointers whose constness depends on the
0028 /// constness of the template shared_ptr param
0029 /// This is convenient for declaring the return types based on the input type
0030 template<typename T>
0031 using GenParticles_type = typename std::conditional<std::is_const<typename T::element_type>::value, ConstGenParticles, GenParticles>::type;
0032 
0033 }
0034 
0035 #endif