Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-12-16 09:21:43

0001 #ifndef G4EVAL_DSTTRACKINFOREADER_H
0002 #define G4EVAL_DSTTRACKINFOREADER_H
0003 
0004 /*!
0005  * \file DSTTrackInfoReader.h
0006  * \author Alex Patton <aopatton@mit.edu>
0007  */
0008 
0009 #include <fun4all/SubsysReco.h>
0010 
0011 class PHCompositeNode;
0012 class TrackInfoContainer;
0013 
0014 class DSTTrackInfoReader : public SubsysReco
0015 {
0016  public:
0017   //! constructor
0018   DSTTrackInfoReader(const std::string& = "DSTTrackInfoReader");
0019 
0020   //! run initialization
0021   int InitRun(PHCompositeNode *topNode) override;
0022 
0023   //! event processing
0024   int process_event(PHCompositeNode *topNode) override;
0025 
0026   enum Flags
0027   {
0028     WriteEvent = 1 << 0,
0029     WriteClusters = 1 << 1,
0030     WriteTracks = 1 << 2
0031   };
0032 
0033   //! set flags. Should be a bitwise or of Flags enum
0034   void set_flags(int flags)
0035   {
0036     m_flags = flags;
0037   }
0038 
0039  private:
0040   //! load nodes
0041   int load_nodes(PHCompositeNode *topNode);
0042 
0043   void evaluate_track_info();
0044 
0045   // SvtxTrack recover_track(DSTContainerv3::TrackStruct);
0046 
0047   // TrkrCluster recover_cluster(DSTContainerv3::ClusterStruct);
0048 
0049   TrackInfoContainer *m_track_info_container {nullptr};
0050   // DSTContainer* m_container = nullptr;
0051 
0052   //! flags
0053   int m_flags = WriteEvent | WriteClusters | WriteTracks;
0054 
0055   //@}
0056 
0057   // debugging helpers
0058   // bool dryrun = false;
0059   // bool generateKey = false;
0060 };
0061 
0062 #endif  // G4EVAL_DSTTRACKINFOREADER_H