Back to home page

sPhenix code displayed by LXR

 
 

    


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

0001 // Tell emacs that this is a C++ source
0002 //  -*- C++ -*-.
0003 #ifndef QAG4SIMULATIONVERTEX_H
0004 #define QAG4SIMULATIONVERTEX_H
0005 
0006 #include <fun4all/SubsysReco.h>
0007 
0008 #include <g4eval/SvtxEvalStack.h>
0009 
0010 #include <memory>
0011 #include <set>
0012 #include <string>
0013 
0014 class PHCompositeNode;
0015 class PHG4TruthInfoContainer;
0016 class SvtxTrackMap;
0017 class SvtxVertexMap;
0018 class TrackSeed;
0019 
0020 class QAG4SimulationVertex : public SubsysReco
0021 {
0022  public:
0023   QAG4SimulationVertex(const std::string &name = "QAG4SimulationVertex");
0024 
0025   virtual ~QAG4SimulationVertex() = default;
0026 
0027   int Init(PHCompositeNode *topNode);
0028   int InitRun(PHCompositeNode *topNode);
0029   int process_event(PHCompositeNode *topNode);
0030 
0031   std::string get_histo_prefix();
0032 
0033   void check_embed() { m_checkembed = true; }
0034   void embed_id_cut(const int id) { m_embed_id_cut = id; }
0035   void addEmbeddingID(int embeddingID);
0036 
0037   void setTrackgMapName(const std::string &name) { m_trackMapName = name; }
0038   void setVertexMapName(const std::string &name) { m_vertexMapName = name; }
0039 
0040  private:
0041   int load_nodes(PHCompositeNode *);
0042 
0043   PHG4TruthInfoContainer *m_truthContainer = nullptr;
0044 
0045   unsigned int _nlayers_maps = 3;
0046 
0047   std::unique_ptr<SvtxEvalStack> m_svtxEvalStack;
0048 
0049   int m_embed_id_cut = 0;
0050   bool m_checkembed = false;
0051 
0052   SvtxTrackMap *m_trackMap = nullptr;
0053   SvtxVertexMap *m_vertexMap = nullptr;
0054   PHG4TruthInfoContainer *m_truthInfo = nullptr;
0055 
0056   std::set<int> m_embeddingIDs;
0057 
0058   std::string m_trackMapName = "SvtxTrackMap";
0059   std::string m_vertexMapName = "SvtxVertexMap";
0060 };
0061 
0062 #endif  // QAG4SIMULATIONVERTEX_H