ATLAS Offline Software
Loading...
Searching...
No Matches
GenParticleSimAcceptList.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef ISF_HEPMC_GENPARTICLESIMACCEPTLIST_H
6#define ISF_HEPMC_GENPARTICLESIMACCEPTLIST_H 1
7
8// FrameWork includes
9#include "GaudiKernel/ToolHandle.h"
10#include "GaudiKernel/SystemOfUnits.h"
12// ISF includes
14
15// STL includes
16#include <string>
17#include <vector>
18
20namespace ISF {
21
22 class ISFParticle;
23
31 class GenParticleSimAcceptList : public extends<AthAlgTool, IGenParticleFilter> {
32
33 public:
34 //** Constructor with parameters */
35 GenParticleSimAcceptList( const std::string& t, const std::string& n, const IInterface* p );
36
39
41 virtual StatusCode initialize() override final;
42 virtual StatusCode finalize() override final;
43
45#ifdef HEPMC3
46 virtual bool pass(const HepMC::ConstGenParticlePtr& particle ) const override;
47#else
48 virtual bool pass(const HepMC::GenParticle& particle ) const override;
49#endif
50
51 private:
53#ifdef HEPMC3
54 bool pass(const HepMC::ConstGenParticlePtr& particle , std::vector<int> & used_vertices ) const;
55#else
56 bool pass(const HepMC::GenParticle& particle , std::vector<int> & used_vertices ) const;
57#endif
58 StringArrayProperty m_acceptLists{this, "AcceptLists", {"G4particle_acceptlist.txt"} };
59 std::vector<long int> m_pdgId;
60 BooleanProperty m_qs{this, "QuasiStableSim", true};
61 BooleanProperty m_useShadowEvent{this, "UseShadowEvent", false, "New approach to selecting particles for simulation" };
62 DoubleProperty m_minDecayRadiusQS{this, "MinimumDecayRadiusQS", 30.19*Gaudi::Units::mm};
63 };
64
65}
66
67
68#endif //> !ISF_HEPMC_GENPARTICLESIMACCEPTLIST_H
virtual StatusCode finalize() override final
virtual StatusCode initialize() override final
Athena algtool's Hooks.
BooleanProperty m_qs
Switch for quasi-stable particle simulation.
StringArrayProperty m_acceptLists
The location of the accept lists.
virtual bool pass(const HepMC::GenParticle &particle) const override
passes through to the private version
GenParticleSimAcceptList(const std::string &t, const std::string &n, const IInterface *p)
Constructor.
std::vector< long int > m_pdgId
Allowed PDG IDs.
DoubleProperty m_minDecayRadiusQS
Decay radius below which QS particles should be ignored.
The generic ISF particle definition,.
Definition ISFParticle.h:42
const GenParticle * ConstGenParticlePtr
Definition GenParticle.h:38
ISFParticleOrderedQueue.