File indexing completed on 2025-08-06 08:19:00
0001
0002
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
0023 int InitRun(PHCompositeNode *topNode) override;
0024
0025
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