Rivet  3.1.0
InitialQuarks.hh
1 // -*- C++ -*-
2 #ifndef RIVET_InitialQuarks_HH
3 #define RIVET_InitialQuarks_HH
4 
5 #ifndef I_KNOW_THE_INITIAL_QUARKS_PROJECTION_IS_DODGY_BUT_NEED_TO_USE_IT
6 #warning "This is a dangerous projection for a few specific old analyses. Not for general use!"
7 #endif
8 
9 #include "Rivet/Projection.hh"
10 #include "Rivet/Particle.hh"
11 #include "Rivet/Event.hh"
12 
13 namespace Rivet {
14 
15 
21  class InitialQuarks : public Projection {
22  public:
23 
25 
26  InitialQuarks() {
29  setName("InitialQuarks");
30  }
31 
34 
36 
38  virtual const Particles& particles() const { return _theParticles; }
39 
41  virtual bool empty() const { return _theParticles.empty(); }
42 
43 
44  protected:
45 
47  virtual void project(const Event& e);
48 
50  virtual CmpState compare(const Projection& p) const;
51 
52 
53  protected:
54 
56  Particles _theParticles;
57 
58  };
59 
60 }
61 
62 
63 #endif
void setName(const std::string &name)
Used by derived classes to set their name.
Definition: Projection.hh:142
Definition: MC_Cent_pPb.hh:10
virtual const Particles & particles() const
Access the projected final-state particles.
Definition: InitialQuarks.hh:38
Project out quarks from the hard process in events.
Definition: InitialQuarks.hh:21
Representation of a HepMC event, and enabler of Projection caching.
Definition: Event.hh:22
virtual void project(const Event &e)
Apply the projection to the event.
virtual CmpState compare(const Projection &p) const
Compare projections.
DEFAULT_RIVET_PROJ_CLONE(InitialQuarks)
Clone on the heap.
InitialQuarks()
Definition: InitialQuarks.hh:28
Base class for all Rivet projections.
Definition: Projection.hh:29
virtual bool empty() const
Is this final state empty?
Definition: InitialQuarks.hh:41