ATLAS Offline Software
Loading...
Searching...
No Matches
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
17namespace G4UA
18{
19
20class LooperThresholdSet : public AthMessaging, public G4UserRunAction
21{
22public:
23
24struct Config
25{
26 double WarningEnergy = 100.0 * CLHEP::MeV;
27 double ImportantEnergy = 250.0 * CLHEP::MeV;
29};
30
32virtual void BeginOfRunAction( const G4Run* ) override;
33
34private:
35
37
38void ChangeLooperParameters( const G4ParticleDefinition* particleDef );
39std::pair<G4Transportation*, G4CoupledTransportation*> findTransportation( const G4ParticleDefinition* particleDef );
40}; // class LooperThresholdSet
41
42} // namespace G4UA
43
44#endif
Kills Monopoles and QBalls with energy < 1 MeV.
void ChangeLooperParameters(const G4ParticleDefinition *particleDef)
virtual void BeginOfRunAction(const G4Run *) override
std::pair< G4Transportation *, G4CoupledTransportation * > findTransportation(const G4ParticleDefinition *particleDef, bool reportError)