ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHG4FullProjSpacalCellReco.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file PHG4FullProjSpacalCellReco.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef G4DETECTORS_PHG4FULLPROJSPACALCELLRECO_H
4 #define G4DETECTORS_PHG4FULLPROJSPACALCELLRECO_H
5 
6 #include <phparameter/PHParameterInterface.h>
7 
8 #include <fun4all/SubsysReco.h>
9 
10 #include <map>
11 #include <string>
12 
13 class PHCompositeNode;
14 class PHG4Cell;
15 class TH2;
16 class TH1;
17 
19 {
20  public:
21 
22  PHG4FullProjSpacalCellReco(const std::string &name = "HCALCELLRECO");
23 
25 
27  int InitRun(PHCompositeNode *topNode) override;
28 
30  int process_event(PHCompositeNode *topNode) override;
31 
33  int ResetEvent(PHCompositeNode *topNode) override;
34 
35  void SetDefaultParameters() override;
36 
37  void Detector(const std::string &d) {detector = d;}
38 
39  void checkenergy(const int i=1) {chkenergyconservation = i;}
40 
41  void set_timing_window(const double tmin, const double tmax);
42 
44  {
45  public:
47  virtual ~LightCollectionModel();
48 
50  void load_data_file(const std::string & input_file, const std::string & histogram_light_guide_model, const std::string & histogram_fiber_model);
51 
53  bool use_light_guide_model() const {return data_grid_light_guide_efficiency != nullptr;}
54 
56  bool use_fiber_model() const {return data_grid_fiber_trans != nullptr;}
57 
59  double get_light_guide_efficiency(const double x_fraction, const double y_fraction);
60 
62  double get_fiber_transmission(const double z_distance);
63 
64  private:
67 
70 
73 
74  };
75 
77 
78  protected:
79 
80  int CheckEnergy(PHCompositeNode *topNode);
81 
82  std::string detector;
83  std::string hitnodename;
84  std::string cellnodename;
85  std::string geonodename;
86  std::string seggeonodename;
87 
90  std::map<unsigned int, PHG4Cell *> celllist;
91 
93  double tmin;
94  double tmax;
95 
97 
98 };
99 
100 #endif