ATLAS Offline Software
LooperThresholdSet.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_LooperThresholdSet_H
6 #define G4UserActions_LooperThresholdSet_H
7 
8 #include "G4UserRunAction.hh"
10 
11 #include "G4Run.hh"
12 #include "G4ParticleDefinition.hh"
13 #include "G4Transportation.hh"
14 #include "G4CoupledTransportation.hh"
15 #include "G4SystemOfUnits.hh"
16 
17 namespace G4UA
18 {
19 
20 class LooperThresholdSet : public AthMessaging, public G4UserRunAction
21 {
22 public:
23 
24 struct Config
25 {
26  double WarningEnergy = 100.0 * CLHEP::MeV;
27  double ImportantEnergy = 250.0 * CLHEP::MeV;
28  int NumberOfTrials = 10;
29 };
30 
32 virtual void BeginOfRunAction( const G4Run* ) override;
33 
34 private:
35 
37 
38 void ChangeLooperParameters( const G4ParticleDefinition* particleDef );
39 std::pair<G4Transportation*, G4CoupledTransportation*> findTransportation( const G4ParticleDefinition* particleDef );
40 }; // class LooperThresholdSet
41 
42 } // namespace G4UA
43 
44 #endif
G4UA::LooperThresholdSet::findTransportation
std::pair< G4Transportation *, G4CoupledTransportation * > findTransportation(const G4ParticleDefinition *particleDef, bool reportError)
G4UA::LooperThresholdSet::LooperThresholdSet
LooperThresholdSet()
G4UA
for nSW
Definition: CalibrationDefaultProcessing.h:19
python.SystemOfUnits.MeV
int MeV
Definition: SystemOfUnits.py:154
G4UA::LooperThresholdSet::Config::ImportantEnergy
double ImportantEnergy
Definition: LooperThresholdSet.h:27
G4UA::LooperThresholdSet::Config::NumberOfTrials
int NumberOfTrials
Definition: LooperThresholdSet.h:28
G4UA::LooperThresholdSet::Config::WarningEnergy
double WarningEnergy
Definition: LooperThresholdSet.h:26
config
Definition: PhysicsAnalysis/AnalysisCommon/AssociationUtils/python/config.py:1
G4UA::LooperThresholdSet::BeginOfRunAction
virtual void BeginOfRunAction(const G4Run *) override
AthMessaging
Class to provide easy MsgStream access and capabilities.
Definition: AthMessaging.h:55
G4UA::LooperThresholdSet::Config
Definition: LooperThresholdSet.h:25
AthMessaging.h
G4UA::LooperThresholdSet::m_config
Config m_config
Definition: LooperThresholdSet.h:36
G4UA::LooperThresholdSet::ChangeLooperParameters
void ChangeLooperParameters(const G4ParticleDefinition *particleDef)