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;