Rivet  1.8.3
Multiplicity.hh
1 // -*- C++ -*-
2 #ifndef RIVET_Multiplicity_HH
3 #define RIVET_Multiplicity_HH
4 
5 #include "Rivet/Projection.hh"
6 #include "Rivet/Projections/FinalState.hh"
7 #include "Rivet/Particle.hh"
8 #include "Rivet/Event.hh"
9 
10 
11 namespace Rivet {
12 
14  class Multiplicity : public Projection {
15  public:
16 
19  : _totalMult(0), _hadMult(0)
20  {
21  setName("Multiplicity");
22  addProjection(fsp, "FS");
23  }
24 
26  virtual const Projection* clone() const {
27  return new Multiplicity(*this);
28  }
29 
30 
31  protected:
32 
34  void project(const Event& e);
35 
37  int compare(const Projection& p) const;
38 
39 
40  public:
41 
43  //@ {
45  unsigned int totalMultiplicity() const { return _totalMult; }
46 
48  unsigned int hadronMultiplicity() const { return _hadMult; }
49  //@ }
50 
51  private:
52 
54  unsigned int _totalMult;
55 
57  unsigned int _hadMult;
58  };
59 
60 }
61 
62 #endif