Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHHepMCParticleSelectorDecayProductChain.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file PHHepMCParticleSelectorDecayProductChain.h
1 #ifndef PHHEPMC_PHHEPMCPARTICLESELECTORDECAYPRODUCTCHAIN_H
2 #define PHHEPMC_PHHEPMCPARTICLESELECTORDECAYPRODUCTCHAIN_H
3 
4 #include <fun4all/SubsysReco.h>
5 
6 #include <string> // for string
7 #include <vector>
8 
9 class PHCompositeNode;
10 
11 namespace HepMC
12 {
13 class GenParticle;
14 class GenEvent;
15 } // namespace HepMC
21 {
22  public:
23  PHHepMCParticleSelectorDecayProductChain(const std::string& name = "PARTICLESELECTOR");
25 
26  int InitRun(PHCompositeNode* topNode) override;
27  int process_event(PHCompositeNode* topNode) override;
28 
30  virtual void SetParticle(const int pid);
31 
33  virtual void AddAncestor(const int pid);
34 
36  virtual void AddDaughter(const int pid);
37 
42  int get_embedding_id() const { return _embedding_id; }
43  //
48  void set_embedding_id(int id) { _embedding_id = id; }
49 
50  protected:
52  HepMC::GenParticle* GetParent(HepMC::GenParticle* p, HepMC::GenEvent* event);
53 
58  std::vector<int> _theDaughters;
61  std::vector<int> _theAncestors;
62 
67 };
68 
69 #endif