Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHG4SteppingAction.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file PHG4SteppingAction.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef G4MAIN_PHG4STEPPINGACTION_H
4 #define G4MAIN_PHG4STEPPINGACTION_H
5 
6 #include <set>
7 #include <string>
8 
9 class G4Step;
10 class PHCompositeNode;
11 class PHG4Hit;
12 
14 {
15  public:
16  PHG4SteppingAction(const std::string& name, const int i = 0);
18  {
19  }
20 
22 
27  virtual bool UserSteppingAction(const G4Step* step, bool was_used) = 0;
28 
29  virtual void Verbosity(const int i) { m_Verbosity = i; }
30  virtual int Verbosity() const { return m_Verbosity; }
31  virtual int Init() { return 0; }
32  virtual int InitWithNode(PHCompositeNode* ){ return 0; };
34  virtual double GetScintLightYield(const G4Step* step);
35 
37  virtual double GetVisibleEnergyDeposition(const G4Step* step);
38 
40  virtual void StoreLocalCoordinate(PHG4Hit* hit, const G4Step* step, const bool do_prepoint, const bool do_postpoint);
41 
42  virtual void SetInterfacePointers(PHCompositeNode*) { return; }
43  virtual void Print(const std::string& /*what*/) const { return; }
44  std::string GetName() const { return m_Name; }
45  void SetName(const std::string& name) { m_Name = name; }
46  virtual void SetLightCorrection(const double inner_radius, const double inner_corr, const double outer_radius, const double outer_corr);
47  virtual double GetLightCorrection(const double r) const;
48  virtual double GetLightCorrection(const double xpos, const double ypos) const;
49  virtual bool ValidCorrection() const;
50 
52  virtual void SetHitNodeName(const std::string&, const std::string&) { return; }
53 
54  private:
61  std::set<std::string> m_ScintLightYieldMissingMaterialSet;
62 };
63 
64 #endif // G4MAIN_PHG4STEPPINGACTION_H