Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-05-12 09:05:02

0001 // -*- C++ -*-
0002 #ifndef RIVET_GENERATEDPERCENTILEPROJECTION_HH
0003 #define RIVET_GENERATEDPERCENTILEPROJECTION_HH
0004 
0005 #include "Rivet/Projections/SingleValueProjection.hh"
0006 #include "Rivet/Projections/HepMCHeavyIon.hh"
0007 
0008 namespace Rivet {
0009 
0010   class GeneratedPercentileProjection: public SingleValueProjection {
0011   public:
0012 
0013   using SingleValueProjection::operator=;
0014 
0015   GeneratedPercentileProjection() {
0016     setName("GeneratedPercentileProjection");
0017     declare(HepMCHeavyIon(), "HepMC");
0018   }
0019 
0020     /// Clone on the heap.
0021     RIVET_DEFAULT_PROJ_CLONE(GeneratedPercentileProjection);
0022 
0023     /// Import to avoid warnings about overload-hiding
0024     using Projection::operator =;
0025 
0026 
0027   protected:
0028 
0029     void project(const Event& e) {
0030       clear();
0031       setValue(apply<HepMCHeavyIon>(e, "HepMC").centrality());
0032     }
0033 
0034     CmpState compare(const Projection&) const {
0035       return CmpState::EQ;
0036     }
0037 
0038   };
0039 
0040 }
0041 
0042 #endif