File indexing completed on 2025-01-18 09:13:06
0001
0002
0003
0004
0005
0006
0007
0008
0009 #pragma once
0010
0011 #include "Acts/Definitions/PdgParticle.hpp"
0012 #include "Acts/Definitions/Units.hpp"
0013 #include "ActsFatras/EventData/Particle.hpp"
0014
0015 namespace Dataset {
0016
0017 using namespace Acts::UnitLiterals;
0018
0019 ActsFatras::Particle makeParticle(Acts::PdgParticle pdg, double z, double eta) {
0020 const auto id = ActsFatras::Barcode().setVertexPrimary(1).setParticle(1);
0021 return ActsFatras::Particle(id, pdg)
0022 .setPosition4(0.0, 0.0, z, 0.0)
0023 .setDirection(1.0 / std::cosh(eta), 0.0, std::tanh(eta))
0024 .setAbsoluteMomentum(1.5_GeV);
0025 }
0026
0027 const auto centralElectron =
0028 makeParticle(Acts::PdgParticle::eElectron, 0_mm, 0.0);
0029 const auto centralPositron =
0030 makeParticle(Acts::PdgParticle::ePositron, 0_mm, 0.0);
0031 const auto centralMuon = makeParticle(Acts::PdgParticle::eMuon, 0_mm, 0.0);
0032 const auto centralAntiMuon =
0033 makeParticle(Acts::PdgParticle::eAntiMuon, 0_mm, 0.0);
0034 const auto backwardPion =
0035 makeParticle(Acts::PdgParticle::ePionMinus, -100_mm, -4.5);
0036 const auto centralPion = makeParticle(Acts::PdgParticle::ePionMinus, 0_mm, 0.0);
0037 const auto forwardPion =
0038 makeParticle(Acts::PdgParticle::ePionMinus, 100_mm, 4.5);
0039 const auto centralNeutron =
0040 makeParticle(Acts::PdgParticle::eNeutron, 1_mm, 0.1);
0041
0042 }