Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:12:42

0001 // Tell emacs that this is a C++ source
0002 //  -*- C++ -*-.
0003 #ifndef HERWIGHEPMCFILTER_H
0004 #define HERWIGHEPMCFILTER_H
0005 
0006 #include <fun4all/SubsysReco.h>
0007 
0008 #include <string>
0009 
0010 class PHCompositeNode;
0011 
0012 class HerwigHepMCFilter : public SubsysReco
0013 {
0014  public:
0015 
0016   HerwigHepMCFilter(int n_events, const std::string &name = "HerwigHepMCFilter");
0017 
0018   ~HerwigHepMCFilter() override;
0019 
0020   /** Called during initialization.
0021       Typically this is where you can book histograms, and e.g.
0022       register them to Fun4AllServer (so they can be output to file
0023       using Fun4AllServer::dumpHistos() method).
0024    */
0025   int Init(PHCompositeNode *topNode) override;
0026 
0027   /** Called for first event when run number is known.
0028       Typically this is where you may want to fetch data from
0029       database, because you know the run number. A place
0030       to book histograms which have to know the run number.
0031    */
0032   int InitRun(PHCompositeNode *topNode) override;
0033 
0034   /** Called for each event.
0035       This is where you do the real work.
0036    */
0037   int process_event(PHCompositeNode *topNode) override;
0038 
0039   /// Clean up internals after each event.
0040   int ResetEvent(PHCompositeNode *topNode) override;
0041 
0042   /// Called at the end of each run.
0043   int EndRun(const int runnumber) override;
0044 
0045   /// Called at the end of all processing.
0046   int End(PHCompositeNode *topNode) override;
0047 
0048   /// Reset
0049   int Reset(PHCompositeNode * /*topNode*/) override;
0050 
0051   void Print(const std::string &what = "ALL") const override;
0052 
0053  private:
0054 };
0055 
0056 #endif // HERWIGHEPMCFILTER_H