Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-06 08:19:07

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 "DSTContainerv3.h"
0010 
0011 #include <fun4all/SubsysReco.h>
0012 #include <trackbase/TrkrClusterContainerv4.h>
0013 #include <trackbase/TrkrClusterv5.h>
0014 #include <trackbase/TrkrDefs.h>
0015 #include <trackbase_historic/TrackInfoContainer_v1.h>
0016 #include <trackbase_historic/TrackSeedContainer_v1.h>
0017 #include <trackbase_historic/TrackSeed_v1.h>
0018 
0019 #include <map>
0020 #include <set>
0021 #include <string>
0022 #include <vector>
0023 
0024 class PHG4Hit;
0025 class PHG4HitContainer;
0026 class PHG4Particle;
0027 class PHG4TruthInfoContainer;
0028 class SvtxTrack;
0029 class SvtxTrackMap;
0030 // class DSTContainer;
0031 class TrkrCluster;
0032 class TrkrClusterContainer;
0033 class TrkrClusterHitAssoc;
0034 class TrkrHitSetContainer;
0035 class TrkrHitTruthAssoc;
0036 
0037 class DSTTrackInfoReader : public SubsysReco
0038 {
0039  public:
0040   //! constructor
0041   DSTTrackInfoReader(const std::string& = "DSTTrackInfoReader");
0042 
0043   //! run initialization
0044   int InitRun(PHCompositeNode*) override;
0045 
0046   //! event processing
0047   int process_event(PHCompositeNode*) override;
0048 
0049   enum Flags
0050   {
0051     WriteEvent = 1 << 0,
0052     WriteClusters = 1 << 1,
0053     WriteTracks = 1 << 2
0054   };
0055 
0056   //! set flags. Should be a bitwise or of Flags enum
0057   void set_flags(int flags)
0058   {
0059     m_flags = flags;
0060   }
0061 
0062  private:
0063   //! load nodes
0064   int load_nodes(PHCompositeNode*);
0065 
0066   void evaluate_track_info();
0067 
0068   // SvtxTrack recover_track(DSTContainerv3::TrackStruct);
0069 
0070   // TrkrCluster recover_cluster(DSTContainerv3::ClusterStruct);
0071 
0072   TrackInfoContainer_v1* m_track_info_container = nullptr;
0073   // DSTContainer* m_container = nullptr;
0074 
0075   //! flags
0076   int m_flags = WriteEvent | WriteClusters | WriteTracks;
0077 
0078   //@}
0079 
0080   // debugging helpers
0081   // bool dryrun = false;
0082   // bool generateKey = false;
0083 };
0084 
0085 #endif  // G4EVAL_DSTTRACKINFOREADER_H