Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-06 08:22:06

0001 // Tell emacs that this is a C++ source
0002 //  -*- C++ -*-.
0003 #ifndef G4CALOPROTOTYPE_PHG4PROTOTYPE2OUTERHCALSTEPPINGACTION_H
0004 #define G4CALOPROTOTYPE_PHG4PROTOTYPE2OUTERHCALSTEPPINGACTION_H
0005 
0006 #include <g4main/PHG4SteppingAction.h>
0007 
0008 class G4Step;
0009 class PHCompositeNode;
0010 class PHG4Prototype2OuterHcalDetector;
0011 class PHParameters;
0012 class PHG4Hit;
0013 class PHG4HitContainer;
0014 class PHG4Shower;
0015 
0016 class PHG4Prototype2OuterHcalSteppingAction : public PHG4SteppingAction
0017 {
0018  public:
0019   //! constructor
0020   PHG4Prototype2OuterHcalSteppingAction(PHG4Prototype2OuterHcalDetector *, const PHParameters *parameters);
0021 
0022   //! dtor
0023   virtual ~PHG4Prototype2OuterHcalSteppingAction();
0024 
0025   //! stepping action
0026   virtual bool UserSteppingAction(const G4Step *, bool);
0027 
0028   //! reimplemented from base class
0029   virtual void SetInterfacePointers(PHCompositeNode *);
0030 
0031   double GetLightCorrection(const double r) const;
0032 
0033  private:
0034   //! pointer to the detector
0035   PHG4Prototype2OuterHcalDetector *m_Detector;
0036 
0037   //! pointer to hit container
0038   PHG4HitContainer *m_Hits;
0039   PHG4HitContainer *m_AbsorberHits;
0040   PHG4Hit *m_Hit;
0041   const PHParameters *m_Params;
0042   PHG4HitContainer *m_SaveHitContainer;
0043   PHG4Shower *m_SaveShower;
0044   // since getting parameters is a map search we do not want to
0045   // do this in every step, the parameters used are cached
0046   // in the following variables
0047   int m_AbsorberTruthFlag;
0048   int m_IsActiveFlag;
0049   int m_IsBlackHoleFlag;
0050   int m_LightScintModelFlag;
0051 
0052   double m_LightBalanceInnerCorr;
0053   double m_LightBalanceInnerRadius;
0054   double m_LightBalanceOuterCorr;
0055   double m_LightBalanceOuterRadius;
0056 };
0057 
0058 #endif