Geant4 VMC Version 6.7
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
TG4ModelConfiguration.h
Go to the documentation of this file.
1#ifndef TG4_MODEL_CONFIGURATION_H
2#define TG4_MODEL_CONFIGURATION_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
18#include <globals.hh>
19
20#include <vector>
21
22class G4VFastSimulationModel;
23
33
35{
36 public:
37 TG4ModelConfiguration(const G4String& modelName);
38
39 // methods
40 void Print() const;
41
42 // set methods
43 void SetParticles(const G4String& particles);
44 void SetExcludedParticles(const G4String& particles);
45 void SetRegionsMedia(const G4String& regionsMedia);
46 void SetOneRegionMedium(const G4String& regionMedium);
47 void SetOneRegion(const G4String& region);
48 void SetFastSimulationModel(G4VFastSimulationModel* fastSimulationModel);
49
50 // get methods
51 const G4String& GetModelName() const;
52 const G4String& GetParticles() const;
53 const G4String& GetExcludedParticles() const;
54 const std::vector<G4String>& GetRegionsMedia() const;
55 const std::vector<G4String>& GetRegions() const;
56 G4VFastSimulationModel* GetFastSimulationModel() const;
57
58 G4bool HasParticle(const G4String& particleName);
59 G4bool HasRegion(const G4String& regionName);
60
61 private:
66
67 // data members
68 G4String fModelName;
69 G4String fParticles;
71 std::vector<G4String> fRegionsMedia;
72 std::vector<G4String>
74 G4VFastSimulationModel* fFastSimulationModel;
75};
76
77// inline functions
78
79inline void TG4ModelConfiguration::SetParticles(const G4String& particles)
80{
82 fParticles = particles;
83}
84
85inline void TG4ModelConfiguration::SetExcludedParticles(const G4String& particles)
86{
88 fExcludedParticles = particles;
89}
90
92 G4VFastSimulationModel* fastSimulationModel)
93{
95 fFastSimulationModel = fastSimulationModel;
96}
97
98inline const G4String& TG4ModelConfiguration::GetModelName() const
99{
101 return fModelName;
102}
103
104inline const G4String& TG4ModelConfiguration::GetParticles() const
105{
107 return fParticles;
108}
109
111{
113 return fExcludedParticles;
114}
115
116inline const std::vector<G4String>&
122
123inline const std::vector<G4String>& TG4ModelConfiguration::GetRegions() const
124{
126 return fRegions;
127}
128
129inline G4VFastSimulationModel*
135
136#endif // TG4_MODEL_CONFIGURATION_H
void SetParticles(const G4String &particles)
void SetOneRegionMedium(const G4String &regionMedium)
std::vector< G4String > fRegionsMedia
the vector of regions media
G4VFastSimulationModel * fFastSimulationModel
fast simulation model
G4String fParticles
the list of particle names
void SetRegionsMedia(const G4String &regionsMedia)
G4String fExcludedParticles
the list of excluded particle names
G4VFastSimulationModel * GetFastSimulationModel() const
void SetExcludedParticles(const G4String &particles)
const std::vector< G4String > & GetRegions() const
const G4String & GetExcludedParticles() const
TG4ModelConfiguration(const TG4ModelConfiguration &right)
not implemented
TG4ModelConfiguration(const G4String &modelName)
std::vector< G4String > fRegions
the vector of created regions (per materials)
void SetOneRegion(const G4String &region)
TG4ModelConfiguration & operator=(const TG4ModelConfiguration &right)
not implemented
G4String fModelName
the EM model name
G4bool HasParticle(const G4String &particleName)
const G4String & GetModelName() const
const G4String & GetParticles() const
const std::vector< G4String > & GetRegionsMedia() const
void SetFastSimulationModel(G4VFastSimulationModel *fastSimulationModel)
G4bool HasRegion(const G4String &regionName)