Back to home page

sPhenix code displayed by LXR

 
 

    


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

0001 // Tell emacs that this is a C++ source
0002 //  -*- C++ -*-.
0003 #ifndef G4DETECTORS_PHG4INNERHCALSTEPPINGACTION_H
0004 #define G4DETECTORS_PHG4INNERHCALSTEPPINGACTION_H
0005 
0006 #include <g4main/PHG4SteppingAction.h>
0007 
0008 class G4Step;
0009 class G4VPhysicalVolume;
0010 class PHCompositeNode;
0011 class TowerInfoContainer;
0012 class PHG4InnerHcalDetector;
0013 class PHParameters;
0014 class PHG4Hit;
0015 class PHG4HitContainer;
0016 class PHG4Shower;
0017 class TH2;
0018 
0019 class PHG4InnerHcalSteppingAction : public PHG4SteppingAction
0020 {
0021  public:
0022   //! constructor
0023   PHG4InnerHcalSteppingAction(PHG4InnerHcalDetector *, const PHParameters *parameters);
0024 
0025   //! destructor
0026   ~PHG4InnerHcalSteppingAction() override;
0027 
0028   //! stepping action
0029   bool UserSteppingAction(const G4Step *, bool) override;
0030 
0031   int InitWithNode(PHCompositeNode *topNode) override;
0032 
0033   //! reimplemented from base class
0034   void SetInterfacePointers(PHCompositeNode *) override;
0035 
0036   void CreateNodeTree(PHCompositeNode *topNode);
0037 
0038  private:
0039   bool NoHitSteppingAction(const G4Step *aStep);
0040   //! pointer to the detector
0041   PHG4InnerHcalDetector *m_Detector = nullptr;
0042 
0043   //! efficiency maps from Mephi
0044   TH2 *m_MapCorrHist = nullptr;
0045 
0046   //! pointer to hit container
0047   PHG4HitContainer *m_Hits = nullptr;
0048   PHG4HitContainer *m_AbsorberHits = nullptr;
0049   PHG4Hit *m_Hit = nullptr;
0050   const PHParameters *m_Params = nullptr;
0051   PHG4HitContainer *m_SaveHitContainer = nullptr;
0052   PHG4Shower *m_SaveShower = nullptr;
0053   G4VPhysicalVolume *m_SaveVolPre = nullptr;
0054   G4VPhysicalVolume *m_SaveVolPost = nullptr;
0055   int m_SaveTrackId = -1;
0056   int m_SavePreStepStatus = -1;
0057   int m_SavePostStepStatus = -1;
0058   // since getting parameters is a map search we do not want to
0059   // do this in every step, the parameters used are cached
0060   // in the following variables
0061   int m_IsActive = -1;
0062   int m_IsBlackHole = -1;
0063   int m_LightScintModelFlag = -1;
0064   bool m_doG4Hit = true;
0065   double m_tmin = -20.;
0066   double m_tmax = 60.;
0067   double m_dt = 100.;
0068   TowerInfoContainer *m_CaloInfoContainer = nullptr;
0069 };
0070 
0071 #endif  // G4DETECTORS_PHG4INNERHCALSTEPPINGACTION_H