Geant4 VMC Version 6.6
Loading...
Searching...
No Matches
TG4FastSimulationPhysics.h
Go to the documentation of this file.
1#ifndef TG4_FAST_SIMULATION_PHYSICS_H
2#define TG4_FAST_SIMULATION_PHYSICS_H
3
4//------------------------------------------------
5// The Geant4 Virtual Monte Carlo package
6// Copyright (C) 2007 - 2015 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
20#include <G4Threading.hh>
21
22#include <map>
23
26
27class G4FastSimulationManagerProcess;
28
38
40{
41 public:
42 typedef std::map<G4String, G4FastSimulationManagerProcess*> ProcessMap;
43
44 public:
45 TG4FastSimulationPhysics(const G4String& name = "FastSimulation");
47 G4int theVerboseLevel, const G4String& name = "FastSimulation");
49
50 // set methods
51 void SetUserFastSimulation(TG4VUserFastSimulation* userFastSimulation);
52
53 protected:
54 // methods
55 // construct particle and physics
56 virtual void ConstructParticle();
57
58 public:
59 virtual void ConstructProcess();
60
61 private:
66
67 // methods
68 G4FastSimulationManagerProcess* GetOrCreateFastSimulationProcess(
69 const G4String& modelName);
70
71 void UpdateRegions(const std::vector<TG4ModelConfiguration*>& models);
73 const std::vector<TG4ModelConfiguration*>& models);
74
75 // static data members
77 static G4ThreadLocal ProcessMap* fgProcessMap;
78
79 // data members
80
83};
84
85#endif // TG4_FAST_SIMULATION_PHYSICS_H
Definition of the TG4VPhysicsConstructor class.
Physics builder which activates selected fast simulation models.
void SetUserFastSimulation(TG4VUserFastSimulation *userFastSimulation)
static G4ThreadLocal ProcessMap * fgProcessMap
fast simulation processes map
void UpdateRegions(const std::vector< TG4ModelConfiguration * > &models)
TG4FastSimulationPhysics(const G4String &name="FastSimulation")
TG4VUserFastSimulation * fUserFastSimulation
the user fast simulation
TG4FastSimulationPhysics(const TG4FastSimulationPhysics &right)
Not implemented.
void AddFastSimulationProcess(const std::vector< TG4ModelConfiguration * > &models)
virtual void ConstructProcess()
Construct physics processes.
virtual void ConstructParticle()
Construct particles.
std::map< G4String, G4FastSimulationManagerProcess * > ProcessMap
TG4FastSimulationPhysics & operator=(const TG4FastSimulationPhysics &right)
Not implemented.
G4FastSimulationManagerProcess * GetOrCreateFastSimulationProcess(const G4String &modelName)
A helper class to hold a configuration of a special physics model.
Abstract base class for physics constructors with verbose.
The abstract base class which is used to build fast simulation models.