Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:17:41

0001 // Tell emacs that this is a C++ source
0002 //  -*- C++ -*-.
0003 #ifndef G4DETECTORS_PHG4BEAMLINEMAGNETSUBSYSTEM_H
0004 #define G4DETECTORS_PHG4BEAMLINEMAGNETSUBSYSTEM_H
0005 
0006 #include "PHG4DetectorSubsystem.h"
0007 
0008 #include <string>  // for string
0009 
0010 class PHCompositeNode;
0011 class PHG4BeamlineMagnetDetector;
0012 class PHG4Detector;
0013 
0014 class PHG4BeamlineMagnetSubsystem : public PHG4DetectorSubsystem
0015 {
0016  public:
0017   //! constructor
0018   PHG4BeamlineMagnetSubsystem(const std::string &name = "CYLINDER", const int layer = 0);
0019 
0020   //! destructor
0021   ~PHG4BeamlineMagnetSubsystem(void) override
0022   {
0023   }
0024 
0025   //! init runwise stuff
0026   /*!
0027   creates the detector_ object and place it on the node tree, under "DETECTORS" node (or whatever)
0028   reates the stepping action and place it on the node tree, under "ACTIONS" node
0029   creates relevant hit nodes that will be populated by the stepping action and stored in the output DST
0030   */
0031   int InitRunSubsystem(PHCompositeNode *) override;
0032 
0033   //! event processing
0034   /*!
0035   get all relevant nodes from top nodes (namely hit list)
0036   and pass that to the stepping action
0037   */
0038   int process_event(PHCompositeNode *) override;
0039 
0040   //! Print info (from SubsysReco)
0041   void Print(const std::string &what = "ALL") const override;
0042 
0043   //! accessors (reimplemented)
0044   PHG4Detector *GetDetector(void) const override;
0045 
0046  private:
0047   void SetDefaultParameters() override;
0048 
0049   //! detector geometry
0050   /*! defives from PHG4Detector */
0051   PHG4BeamlineMagnetDetector *detector_;
0052 };
0053 
0054 #endif