Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-12-17 09:21:28

0001 #ifndef G4MBD_MBDVERTEXFASTSIMRECO_H
0002 #define G4MBD_MBDVERTEXFASTSIMRECO_H
0003 
0004 //===========================================================
0005 /// \file MbdVertexFastSimReco.h
0006 /// \brief simple truth vertex smearing algorithm
0007 /// \author Mike McCumber
0008 //===========================================================
0009 
0010 #include <fun4all/SubsysReco.h>
0011 
0012 #include <gsl/gsl_rng.h>
0013 
0014 #include <limits>
0015 #include <string>  // for string
0016 
0017 class PHCompositeNode;
0018 
0019 /// \class MbdVertexFastSimReco
0020 ///
0021 /// \brief simple truth vertex smearing algorithm
0022 ///
0023 class MbdVertexFastSimReco : public SubsysReco
0024 {
0025  public:
0026   MbdVertexFastSimReco(const std::string &name = "MbdVertexFastSimReco");
0027   ~MbdVertexFastSimReco() override;
0028 
0029   int InitRun(PHCompositeNode *topNode) override;
0030   int process_event(PHCompositeNode *topNode) override;
0031 
0032   void set_t_smearing(const float t_smear) { m_T_Smear = t_smear; }
0033   void set_z_smearing(const float z_smear) { m_Z_Smear = z_smear; }
0034 
0035  private:
0036   int CreateNodes(PHCompositeNode *topNode);
0037 
0038   float m_T_Smear{std::numeric_limits<float>::quiet_NaN()};
0039   float m_Z_Smear{std::numeric_limits<float>::quiet_NaN()};
0040 
0041   gsl_rng *RandomGenerator;
0042 };
0043 
0044 #endif  // G4MBD_MBDVERTEXFASTSIMRECO_H