Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-06 08:19:00

0001 // Tell emacs that this is a C++ source
0002 //  -*- C++ -*-.
0003 #ifndef G4DETECTORS_PHG4HCALCELLRECO_H
0004 #define G4DETECTORS_PHG4HCALCELLRECO_H
0005 
0006 #include <phparameter/PHParameterInterface.h>
0007 
0008 #include <fun4all/SubsysReco.h>
0009 
0010 #include <cmath>
0011 #include <string>
0012 
0013 class PHCompositeNode;
0014 
0015 class PHG4HcalCellReco : public SubsysReco, public PHParameterInterface
0016 {
0017  public:
0018   PHG4HcalCellReco(const std::string &name = "HcalCellReco");
0019 
0020   ~PHG4HcalCellReco() override {}
0021 
0022   //! module initialization
0023   int InitRun(PHCompositeNode *topNode) override;
0024 
0025   //! event processing
0026   int process_event(PHCompositeNode *topNode) override;
0027 
0028   void SetDefaultParameters() override;
0029 
0030   void Detector(const std::string &d) { detector = d; }
0031   void checkenergy(const int i = 1) { chkenergyconservation = i; }
0032 
0033   void set_timing_window(const double tmi, const double tma);
0034 
0035   void set_fixed_energy(const double efix) { m_FixedEnergy = efix; }
0036 
0037  protected:
0038   int CheckEnergy(PHCompositeNode *topNode);
0039   std::string detector;
0040   std::string hitnodename;
0041   std::string cellnodename;
0042 
0043   int chkenergyconservation = 0;
0044 
0045   double tmin = NAN;
0046   double tmax = NAN;
0047   double m_DeltaT = NAN;
0048   double m_FixedEnergy = NAN;
0049 };
0050 
0051 #endif