Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-06 08:18:51

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 <string>  // for string
0015 
0016 class PHCompositeNode;
0017 
0018 /// \class MbdVertexFastSimReco
0019 ///
0020 /// \brief simple truth vertex smearing algorithm
0021 ///
0022 class MbdVertexFastSimReco : public SubsysReco
0023 {
0024  public:
0025   MbdVertexFastSimReco(const std::string &name = "MbdVertexFastSimReco");
0026   ~MbdVertexFastSimReco() override;
0027 
0028   int Init(PHCompositeNode *topNode) override;
0029   int InitRun(PHCompositeNode *topNode) override;
0030   int process_event(PHCompositeNode *topNode) override;
0031   int End(PHCompositeNode *topNode) override;
0032 
0033   void set_t_smearing(const float t_smear) { m_T_Smear = t_smear; }
0034   void set_z_smearing(const float z_smear) { m_Z_Smear = z_smear; }
0035 
0036  private:
0037   int CreateNodes(PHCompositeNode *topNode);
0038 
0039   float m_T_Smear;
0040   float m_Z_Smear;
0041 
0042   gsl_rng *RandomGenerator;
0043 };
0044 
0045 #endif  // G4MBD_MBDVERTEXFASTSIMRECO_H