File indexing completed on 2025-08-05 08:17:49
0001
0002
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
0023 PHG4InnerHcalSteppingAction(PHG4InnerHcalDetector *, const PHParameters *parameters);
0024
0025
0026 ~PHG4InnerHcalSteppingAction() override;
0027
0028
0029 bool UserSteppingAction(const G4Step *, bool) override;
0030
0031 int InitWithNode(PHCompositeNode *topNode) override;
0032
0033
0034 void SetInterfacePointers(PHCompositeNode *) override;
0035
0036 void CreateNodeTree(PHCompositeNode *topNode);
0037
0038 private:
0039 bool NoHitSteppingAction(const G4Step *aStep);
0040
0041 PHG4InnerHcalDetector *m_Detector = nullptr;
0042
0043
0044 TH2 *m_MapCorrHist = nullptr;
0045
0046
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
0059
0060
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