Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GlobalVertexFastSimReco.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file GlobalVertexFastSimReco.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef G4VERTEX_GLOBALVERTEXFASTSIMRECO_H
4 #define G4VERTEX_GLOBALVERTEXFASTSIMRECO_H
5 
6 //===========================================================
10 //===========================================================
11 
12 #include <fun4all/SubsysReco.h>
13 
14 #include <gsl/gsl_rng.h>
15 
16 #include <limits>
17 #include <string> // for string
18 
19 class PHCompositeNode;
20 
26 {
27  public:
28  GlobalVertexFastSimReco(const std::string &name = "GlobalVertexFastSimReco");
29  ~GlobalVertexFastSimReco() override;
30 
31  int InitRun(PHCompositeNode *topNode) override;
32  int process_event(PHCompositeNode *topNode) override;
33 
34  void set_x_smearing(const float x_smear) { _x_smear = x_smear; }
35  void set_y_smearing(const float y_smear) { _y_smear = y_smear; }
36  void set_z_smearing(const float z_smear) { _z_smear = z_smear; }
37  void set_t_smearing(const float t_smear) { _t_smear = t_smear; }
38 
39  private:
40  int CreateNodes(PHCompositeNode *topNode);
41 
42  float _x_smear = std::numeric_limits<float>::quiet_NaN();
43  float _y_smear = std::numeric_limits<float>::quiet_NaN();
44  float _z_smear = std::numeric_limits<float>::quiet_NaN();
45  float _t_smear = std::numeric_limits<float>::quiet_NaN();
46  gsl_rng *RandomGenerator = nullptr;
47 };
48 
49 #endif // G4VERTEX_GLOBALVERTEXFASTSIMRECO_H