StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StarParticleFilter.h
1 #ifndef __StarParticleFilter_h__
2 #define __StarParticleFilter_h__
3 
4 #include <vector>
5 
11 #include "StarFilterMaker.h"
12 
14 {
15 public:
16  StarParticleFilter( const char* name = "partfilt" );
17  virtual ~StarParticleFilter(){ /* nada */ }
18 
19  int Filter( StarGenEvent *event = 0 );
20 
29  void AddTrigger( int _pdgid, double _ptmn=0, double _ptmx=-1, double _etamn=-1, double _etamx=1, int _pdgidParent=0 );
30 
31 private:
32 protected:
33 
34  struct Trigger_t {
35  int pdgid;
36  double ptmn;
37  double ptmx;
38  double etamn;
39  double etamx;
40  int pdgid_parent;
41  Trigger_t() :
42  pdgid(0),
43  ptmn (0.),
44  ptmx (0.),
45  etamn(0.),
46  etamx(0.),
47  pdgid_parent(0)
48  { };
49  Trigger_t( int _pdgid, double _ptmn, double _ptmx, double _etamn, double _etamx, int _pdgid_parent ) :
50  pdgid(_pdgid),
51  ptmn (_ptmn),
52  ptmx (_ptmx),
53  etamn(_etamn),
54  etamx(_etamx),
55  pdgid_parent(_pdgid_parent)
56  {
57  };
58  };
59  vector<Trigger_t> mTriggers;
60 
61 #if 1 // we dont really need, but this triggers cons to create dictionary
62  ClassDef(StarParticleFilter,0);
63 #endif
64 
65 };
66 
67 #endif
int Filter(StarGenEvent *event=0)
void AddTrigger(int _pdgid, double _ptmn=0, double _ptmx=-1, double _etamn=-1, double _etamx=1, int _pdgidParent=0)
Main filter class. Goes anywhere in the chain, filters StarGenEvent objects.
Filter which requires one or more particles in the final state of the event record.
Base class for event records.
Definition: StarGenEvent.h:81