23 #ifndef RestCore_TRestGeant4Metadata
24 #define RestCore_TRestGeant4Metadata
27 #include <TRestMetadata.h>
40 #include "TRestGeant4BiasingVolume.h"
41 #include "TRestGeant4GeometryInfo.h"
42 #include "TRestGeant4ParticleSource.h"
43 #include "TRestGeant4PhysicsInfo.h"
44 #include "TRestGeant4PrimaryGeneratorInfo.h"
60 bool fIsMerge =
false;
157 std::set<std::string> fKillVolumes;
172 std::set<std::string> fActiveVolumesSet = {};
191 size_t GetGeant4VersionMajor()
const;
290 inline size_t GetNumberOfSensitiveVolumes()
const {
return fSensitiveVolumes.size(); }
292 inline const std::vector<TString>& GetSensitiveVolumes()
const {
return fSensitiveVolumes; }
305 if (volume == sensitiveVolume) {
332 inline bool IsActiveVolume(
const char* volumeName)
const {
333 return fActiveVolumesSet.count(volumeName) > 0;
336 inline bool IsKeepTracksVolume(
const char* volumeName)
const {
340 inline bool IsKillVolume(
const char* volumeName)
const {
return fKillVolumes.count(volumeName) > 0; }
342 inline std::vector<std::string> GetKillVolumes()
const {
343 std::vector<std::string> result;
344 for (
const auto& volume : fKillVolumes) {
345 result.emplace_back(volume);
350 inline std::vector<std::string> GetRemoveUnwantedTracksVolumesToKeep()
const {
351 std::vector<std::string> result;
353 result.emplace_back(volume);
359 Double_t GetCosmicIntensityInCountsPerSecond()
const;
360 Double_t GetEquivalentSimulatedTime()
const;
365 inline std::vector<TString> GetActiveVolumes()
const {
return fActiveVolumes; }
369 inline bool GetRemoveUnwantedTracksKeepZeroEnergyTracks()
const {
380 void SetActiveVolume(
const TString& name, Double_t chance, Double_t maxStep = 0);
399 friend class SteppingAction;
400 friend class DetectorConstruction;