ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHG4TTLSteppingAction.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file PHG4TTLSteppingAction.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef G4DETECTORS_PHG4TTLSTEPPINGACTION_H
4 #define G4DETECTORS_PHG4TTLSTEPPINGACTION_H
5 
7 
8 #include <Geant4/G4ParticleDefinition.hh> // for G4ParticleDefinition
9 #include <Geant4/G4Step.hh>
10 #include <Geant4/G4StepPoint.hh> // for G4StepPoint
11 #include <Geant4/G4StepStatus.hh> // for fGeomBoundary, fAtRestD...
12 #include <Geant4/G4String.hh> // for G4String
13 #include <Geant4/G4SystemOfUnits.hh> // for cm, GeV, nanosecond
14 #include <Geant4/G4ThreeVector.hh> // for G4ThreeVector
15 #include <Geant4/G4TouchableHandle.hh> // for G4TouchableHandle
16 #include <Geant4/G4Track.hh> // for G4Track
17 #include <Geant4/G4TrackStatus.hh> // for fStopAndKill
18 #include <Geant4/G4Types.hh> // for G4double
19 #include <Geant4/G4VTouchable.hh> // for G4VTouchable
20 #include <Geant4/G4VUserTrackInformation.hh> // for G4VUserTrackInformation
21 
22 
23 #include <g4main/PHG4Hit.h>
25 #include <g4main/PHG4Hitv1.h>
26 #include <g4main/PHG4Shower.h>
27 #include <g4main/PHG4SteppingAction.h> // for PHG4SteppingAction
29 
30 #include <phool/getClass.h>
31 #include <TVector3.h>
32 
33 #include <iostream>
34 #include <string> // for string, operator+, oper...
35 
36 class G4Step;
37 class PHCompositeNode;
38 class PHG4Hit;
39 class PHG4HitContainer;
40 class PHG4TTLDetector;
41 class PHG4Shower;
42 
44 {
45  public:
48 
50  ~PHG4TTLSteppingAction() override;
51 
53  bool UserSteppingAction(const G4Step*, bool) override;
54 
56  void SetInterfacePointers(PHCompositeNode*) override;
57  void SetLGADResolution(double lgadReso){
58  _sensor_resolution_x = lgadReso;
59  _sensor_resolution_y = lgadReso;
60  };
61  void SetNPhiModules(double nPhimod){
62  _N_phi_modules = nPhimod;
63  };
64  void SetZPositionFwd(double zpos){
65  _z_pos_TTL = zpos;
66  };
67  void SetIsForwardTTL(bool isfwd){
68  _isFwd_TTL = isfwd;
69  };
70  void CalculateSensorHitIndices(G4StepPoint* prePoint, int& module_ret, int& layer, int& sensor_0, int& sensor_1, int& j, int& k, TVector3& sensorposition);
71 
72  private:
75 
80 
81  int layer_id;
82  bool _isFwd_TTL;
84  double _z_pos_TTL;
87 };
88 
89 #endif //__G4PHPHYTHIAREADER_H__