File indexing completed on 2025-08-06 08:19:18
0001
0002
0003 #ifndef G4INTT_PHG4INTTSTEPPINGACTION_H
0004 #define G4INTT_PHG4INTTSTEPPINGACTION_H
0005
0006 #include <g4main/PHG4SteppingAction.h>
0007
0008 #include <map>
0009 #include <string>
0010 #include <utility> // for pair
0011 #include <vector>
0012
0013 class G4Step;
0014 class PHCompositeNode;
0015 class PHG4InttDetector;
0016 class PHG4Hit;
0017 class PHG4HitContainer;
0018 class PHG4Shower;
0019 class PHParametersContainer;
0020
0021 class PHG4InttSteppingAction : public PHG4SteppingAction
0022 {
0023 public:
0024 PHG4InttSteppingAction(PHG4InttDetector *, const PHParametersContainer *parameters, const std::pair<std::vector<std::pair<int, int>>::const_iterator, std::vector<std::pair<int, int>>::const_iterator> &layer_begin_end);
0025
0026 ~PHG4InttSteppingAction() override;
0027
0028 bool UserSteppingAction(const G4Step *, bool) override;
0029
0030 void SetInterfacePointers(PHCompositeNode *) override;
0031
0032 void SetHitNodeName(const std::string &type, const std::string &name) override;
0033
0034 private:
0035
0036 PHG4InttDetector *m_Detector = nullptr;
0037
0038
0039 PHG4HitContainer *m_HitContainer = nullptr;
0040 PHG4HitContainer *m_AbsorberHitContainer = nullptr;
0041 PHG4Hit *m_Hit = nullptr;
0042 PHG4HitContainer *m_SaveHitContainer = nullptr;
0043 PHG4Shower *m_SaveShower = nullptr;
0044 const PHParametersContainer *m_ParamsContainer = nullptr;
0045
0046 std::map<int, int> m_InttToTrackerLayerMap;
0047 std::map<int, int> m_LadderTypeMap;
0048 std::map<int, double> m_StripYMap;
0049 std::map<int, std::pair<double, double>> m_StripZMap;
0050 std::map<int, int> m_nStripsPhiCell;
0051 std::map<int, std::pair<int, int>> m_nStripsZSensor;
0052
0053 std::map<int, int> m_IsActiveMap;
0054 std::map<int, int> m_IsBlackHoleMap;
0055 std::string m_AbsorberNodeName;
0056 std::string m_HitNodeName;
0057 };
0058
0059 #endif