8 #ifndef CHEAT_PARTICLEINVENTORYSERVICESERVICE_H
9 #define CHEAT_PARTICLEINVENTORYSERVICESERVICE_H
14 class EveIdCalculator;
18 #include "nusimdata/SimulationBase/MCParticle.h"
19 #include "nusimdata/SimulationBase/MCTruth.h"
21 #include "art/Framework/Services/Registry/ServiceDeclarationMacros.h"
22 #include "art/Persistency/Provenance/ScheduleContext.h"
25 class ActivityRegistry;
29 #include "canvas/Persistency/Common/Ptr.h"
30 #include "fhiclcpp/types/Comment.h"
31 #include "fhiclcpp/types/Name.h"
32 #include "fhiclcpp/types/Table.h"
49 fhicl::Comment(
"This is the fhicl configuration for the ParticleInventory Service Provider") };
114 #endif //CHEAT_PARTICLEINVENTORYSERVICESERVICE_H
simb::MCTruth TrackIdToMCTruth(int const id) const
bool priv_ParticleListReady()
const std::vector< art::Ptr< simb::MCTruth > > & MCTruthVector_Ps() const
bool MCTruthListReady() const
A simple check to determine if the MCTruthList has already been prepared and cached or not...
const simb::MCParticle * TrackIdToParticle_P(int id) const
void SetEveIdCalculator(sim::EveIdCalculator *ec)
bool TrackIdToMCTruthReady() const
A simple check to determine if the TrackIdToMCTruth map has been prepared or not. ...
std::set< int > GetSetOfTrackIds() const
std::vector< const simb::MCParticle * > MCTruthToParticles_Ps(art::Ptr< simb::MCTruth > const &mct) const
void priv_PrepParticleList(const art::Event &evt)
const art::Ptr< simb::MCTruth > & ParticleToMCTruth_P(const simb::MCParticle *p) const
int TrackIdToEveTrackId(int tid) const
void SetEveIdCalculator(sim::EveIdCalculator *ec)
simb::MCParticle TrackIdToParticle(int const id) const
void priv_PrepEvent(const art::Event &evt, art::ScheduleContext)
const art::Ptr< simb::MCTruth > & TrackIdToMCTruth_P(int id) const
BEGIN_PROLOG vertical distance to the surface Name
const sim::ParticleList & ParticleList() const
simb::MCParticle TrackIdToMotherParticle(int const id) const
void priv_PrepMCTruthList(const art::Event &evt)
bool priv_TrackIdToMCTruthReady()
bool ParticleListReady() const
A simple check to determine if the ParticleList has already been prepared for this event or not...
fhicl::Table< ParticleInventory::ParticleInventoryConfig > ParticleInventoryTable
ParticleInventoryService(const ParticleInventoryServiceConfig &config, art::ActivityRegistry ®)
Header for the ParticleInvenotry Service Provider.
void Rebuild(const art::Event &evt)
ParticleInventory(const ParticleInventoryConfig &config)
const simb::MCParticle * TrackIdToMotherParticle_P(int id) const
void priv_PrepTrackIdToMCTruthIndex(const art::Event &evt)
std::set< int > GetSetOfEveIds() const
bool priv_MCTruthListReady()
simb::MCTruth ParticleToMCTruth(const simb::MCParticle *p) const
bool priv_CanRun(const art::Event &evt) const
const provider_type * provider() const