Geant4 VMC Version 6.7
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
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.
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.
TG4Verbose(const G4String &cmdName)