ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHG4ForwardCalCellReco.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file PHG4ForwardCalCellReco.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef G4DETECTORS_PHG4FORWARDCALCELLRECO_H
4 #define G4DETECTORS_PHG4FORWARDCALCELLRECO_H
5 
6 #include <fun4all/SubsysReco.h>
7 
8 #include <map>
9 #include <string>
10 #include <utility> // for pair
11 
12 class PHCompositeNode;
13 class PHG4CylinderCell;
14 
16 {
17  public:
18  PHG4ForwardCalCellReco(const std::string &name = "FWDCALCELLRECO");
19 
21 
23  int InitRun(PHCompositeNode *topNode);
24 
26  int process_event(PHCompositeNode *topNode);
27 
29  int End(PHCompositeNode *topNode);
30 
31  void Detector(const std::string &d) { detector = d; }
32  void checkenergy(const int i = 1) { chkenergyconservation = i; }
33 
34  double get_timing_window_min(const int i) { return tmin_default; }
35  double get_timing_window_max(const int i) { return tmax_default; }
36  void set_timing_window(const int i, const double tmin, const double tmax)
37  {
38  tmin_default = tmin;
39  tmax_default = tmax;
40  }
41  void set_timing_window_defaults(const double tmin, const double tmax)
42  {
43  tmin_default = tmin;
44  tmax_default = tmax;
45  }
46 
47  protected:
48  int CheckEnergy(PHCompositeNode *topNode);
49  std::string detector;
50  std::string hitnodename;
51  std::string cellnodename;
52  int nbins[2];
54  std::map<unsigned int, PHG4CylinderCell *> celllist;
55 
57  double tmin_default;
58  double tmax_default;
59  std::map<int, std::pair<double, double> > tmin_max;
60 };
61 
62 #endif