ATLAS Offline Software
FastIDKiller.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef G4UserActions_FastIDKiller_H
6 #define G4UserActions_FastIDKiller_H
7 
8 
9 #include "G4UserRunAction.hh"
10 #include "G4UserSteppingAction.hh"
12 
13 namespace G4UA
14 {
15 
17  class FastIDKiller : public G4UserRunAction,
18  public G4UserSteppingAction,
19  public AthMessaging
20  {
21 
22  public:
23 
25  struct Config
26  {
27  float R=1150.; // ID outer radius by default.
28  float Z=3490.; // ID maximum Z coordiate by default.
29  float energyCut=100000000.; // default energy threshold
30  bool isDalek=false; // Use FastIDKiller as DALEK (Domain Actuated Low Energy Killer)
31  };
32 
34  FastIDKiller(const Config& config);
35 
37  struct Report
38  {
39  int killCount=0;
40  void merge(const Report& rep){
41  killCount+=rep.killCount;
42  }
43  };
44 
45  const Report& getReport() const
46  { return m_report; }
47 
48  virtual void BeginOfRunAction(const G4Run*) override;
49  virtual void UserSteppingAction(const G4Step*) override;
50 
51  private:
52 
53  void KillParticle(const G4Step* aStep);
54 
57  bool m_init;
58 
59  }; // class FastIDKiller
60 
61 } // namespace G4UA
62 
63 #endif
G4UA::FastIDKiller::Report::merge
void merge(const Report &rep)
Definition: FastIDKiller.h:40
G4UA::FastIDKiller::KillParticle
void KillParticle(const G4Step *aStep)
Definition: FastIDKiller.cxx:67
G4UA
for nSW
Definition: CalibrationDefaultProcessing.h:19
G4UA::FastIDKiller
NEEDS DOCUMENTATION.
Definition: FastIDKiller.h:20
G4UA::FastIDKiller::FastIDKiller
FastIDKiller(const Config &config)
Constructor.
Definition: FastIDKiller.cxx:25
G4UA::FastIDKiller::Report::killCount
int killCount
Definition: FastIDKiller.h:39
make_hlt_rep.rep
rep
Definition: make_hlt_rep.py:32
G4UA::FastIDKiller::Config
Configuration parameters.
Definition: FastIDKiller.h:26
G4UA::FastIDKiller::Config::isDalek
bool isDalek
Definition: FastIDKiller.h:30
G4UA::FastIDKiller::m_init
bool m_init
Definition: FastIDKiller.h:57
config
Definition: PhysicsAnalysis/AnalysisCommon/AssociationUtils/python/config.py:1
G4UA::FastIDKiller::Config::R
float R
Definition: FastIDKiller.h:27
AthMessaging
Class to provide easy MsgStream access and capabilities.
Definition: AthMessaging.h:55
G4UA::FastIDKiller::Config::energyCut
float energyCut
Definition: FastIDKiller.h:29
G4UA::FastIDKiller::Report
Per-thread results for merging at end of run.
Definition: FastIDKiller.h:38
G4UA::FastIDKiller::Config::Z
float Z
Definition: FastIDKiller.h:28
AthMessaging.h
G4UA::FastIDKiller::m_report
Report m_report
Definition: FastIDKiller.h:56
G4UA::FastIDKiller::UserSteppingAction
virtual void UserSteppingAction(const G4Step *) override
Definition: FastIDKiller.cxx:83
G4UA::FastIDKiller::m_config
Config m_config
Definition: FastIDKiller.h:55
G4UA::FastIDKiller::getReport
const Report & getReport() const
Definition: FastIDKiller.h:45
G4UA::FastIDKiller::BeginOfRunAction
virtual void BeginOfRunAction(const G4Run *) override
Definition: FastIDKiller.cxx:34