Geant4 VMC Version 6.6
Loading...
Searching...
No Matches
TG4ComposedPhysicsList.h
Go to the documentation of this file.
1#ifndef TG4_COMPOSED_PHYSICS_LIST_H
2#define TG4_COMPOSED_PHYSICS_LIST_H
3
4//------------------------------------------------
5// The Geant4 Virtual Monte Carlo package
6// Copyright (C) 2007 - 2014 Ivana Hrivnacova
7// All rights reserved.
8//
9// For the licensing terms see geant4_vmc/LICENSE.
10// Contact: root-vmc@cern.ch
11//-------------------------------------------------
12
17
19#include "TG4Verbose.h"
20
21#include <G4VUserPhysicsList.hh>
22#include <G4HadronicProcessType.hh>
23#include <globals.hh>
24
25#include <vector>
26#include <tuple>
27
35
37{
38 public:
41
42 // methods
43 void AddPhysicsList(G4VUserPhysicsList* physicsList);
44
45 virtual void ConstructParticle();
46 virtual void ConstructProcess();
47 virtual void SetCuts();
48
49 void SetCutForGamma(G4double cut);
50 void SetCutForElectron(G4double cut);
51 void SetCutForPositron(G4double cut);
52 void SetCutForProton(G4double cut);
53
54 void SetProductionCutsTableEnergyRange(G4double min, G4double max);
55 void SetGammaToMuonsCrossSectionFactor(G4double value);
57 const G4String& particleName, const G4String& processDef,
58 G4double value, G4bool isProcessName);
59
60 void SetLooperThresholdsLevel(G4int level);
61
62 void PrintAllProcesses() const;
63 void DumpAllProcesses() const;
64
65 virtual G4int VerboseLevel() const;
66 virtual void VerboseLevel(G4int level);
67
68 private:
73
74 // methods
77 const G4String& particleName, const G4String& processDef,
78 G4double value, G4bool isProcessName);
80
82
83 // static data members
84 static const G4double
86
87 // data members
89 std::vector<G4VUserPhysicsList*> fPhysicsLists;
90
93
96
99
102
104 std::vector<std::tuple<G4String, G4String, G4double, G4bool>> fCrossSectionFactors;
105
108};
109
110// inline methods
111
118
120{
123}
124
125#endif // TG4_COMPOSED_MODULAR_PHYSICS_H
Definition of the TG4ComposedPhysicsMessenger class.
Definition of the TG4Verbose class.
The Geant4 VMC physics list builder.
G4bool fIsProductionCutsTableEnergyRange
Info if the production cuts table energy range is redefined by user.
TG4ComposedPhysicsList(const TG4ComposedPhysicsList &right)
Not implemented.
static const G4double fgkDefautLooperThresholdsLevel
the default cut value
G4double fProductionCutsTableEnergyMax
The production cuts table energy range maximum redefined by user.
void SetGammaToMuonsCrossSectionFactor(G4double value)
TG4ComposedPhysicsList & operator=(const TG4ComposedPhysicsList &right)
Not implemented.
TG4ComposedPhysicsMessenger fMessenger
messenger
void SetLooperThresholdsLevel(G4int level)
G4int fLooperThresholdsLevel
Looper threshold level (can have valuee 0,1,2)
void AddPhysicsList(G4VUserPhysicsList *physicsList)
G4double fProductionCutsTableEnergyMin
The production cuts table energy range minimum redefined by user.
virtual G4int VerboseLevel() const
std::vector< std::tuple< G4String, G4String, G4double, G4bool > > fCrossSectionFactors
Cross section factors by process type or name.
std::vector< G4VUserPhysicsList * > fPhysicsLists
physics lists
G4double fGammaToMuonsCrossSectionFactor
Gamma to muons cross section factor.
void SetProductionCutsTableEnergyRange(G4double min, G4double max)
void ApplyCrossSectionFactor(const G4String &particleName, const G4String &processDef, G4double value, G4bool isProcessName)
void SetCrossSectionFactor(const G4String &particleName, const G4String &processDef, G4double value, G4bool isProcessName)
Messenger class that defines commands for Geant4 VMC composed physics list and related classes.
Base class for defining the verbose level and a common messenger.
Definition TG4Verbose.h:36