ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHPy6ParticleTrigger.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file PHPy6ParticleTrigger.h
1 #ifndef PHPYTHIA6_PHPY6PARTICLETRIGGER_H
2 #define PHPYTHIA6_PHPY6PARTICLETRIGGER_H
3 
4 #include "PHPy6GenTrigger.h"
5 
6 #include <string> // for string
7 #include <vector> // for vector
8 
9 namespace HepMC
10 {
11  class GenEvent;
12 }
13 
23 {
24  public:
26  PHPy6ParticleTrigger(const std::string &name = "PHPy6ParticleTriggerger");
27 
29  ~PHPy6ParticleTrigger(void) override {}
30 
31  bool Apply(const HepMC::GenEvent *evt) override;
32 
33  void AddParticles(const std::string &particles);
34  void AddParticles(int particle);
35  void AddParticles(std::vector<int> particles);
36 
37  void AddParents(const std::string &parents);
38  void AddParents(int parent);
39  void AddParents(std::vector<int> parents);
40 
41  void SetPtHigh(double pt);
42  void SetPtLow(double pt);
43  void SetPtHighLow(double ptHigh, double ptLow);
44 
45  void SetPHigh(double p);
46  void SetPLow(double p);
47  void SetPHighLow(double pHigh, double pLow);
48 
49  void SetEtaHigh(double eta);
50  void SetEtaLow(double eta);
51  void SetEtaHighLow(double etaHigh, double etaLow);
52 
53  void SetAbsEtaHigh(double eta);
54  void SetAbsEtaLow(double eta);
55  void SetAbsEtaHighLow(double etaHigh, double etaLow);
56 
57  void SetPzHigh(double pz);
58  void SetPzLow(double pz);
59  void SetPzHighLow(double pzHigh, double pzLow);
60 
61  void PrintConfig();
62 
63  protected:
64  // trigger variables
65  std::vector<int> _theParents;
66  std::vector<int> _theParticles;
67 
72 
78 };
79 
80 #endif