60 return (
this == &right);
66 G4String remainingPath = treeStructure;
67 remainingPath.erase(0,
pathName.length());
68 if(!remainingPath.empty())
93 <<
". Object pointer is overwritten.\n";
94 ed <<
"It's users' responsibility to delete the old sensitive detector "
109 if(subD == st->dirName)
119 if(aSDName == det->GetName())
135 auto i = aName.find(
'/');
136 if(i != G4String::npos)
145 if(aPath.find(
'/') != std::string::npos)
149 if(tgtSDS ==
nullptr)
155 tgtSDS->
Activate(aName, sensitiveFlag);
158 else if(aPath.empty())
161 det->Activate(sensitiveFlag);
163 st->Activate(
G4String(
"/"), sensitiveFlag);
184 if(aPath.find(
'/') != std::string::npos)
188 if(tgtSDS ==
nullptr)
253 G4cout <<
" XXX Inactive ";
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
std::ostringstream G4ExceptionDescription
G4GLOB_DLL std::ostream G4cout
G4String ExtractDirName(const G4String &aPath)
void Initialize(G4HCofThisEvent *HCE)
G4bool operator==(const G4SDStructure &right) const
G4VSensitiveDetector * GetSD(const G4String &aName)
void Activate(const G4String &aName, G4bool sensitiveFlag)
void Terminate(G4HCofThisEvent *HCE)
void RemoveSD(G4VSensitiveDetector *)
G4VSensitiveDetector * FindSensitiveDetector(const G4String &aName, G4bool warning=true)
G4SDStructure * FindSubDirectory(const G4String &subD)
G4SDStructure(const G4String &aPath)
std::vector< G4VSensitiveDetector * > detector
void AddNewDetector(G4VSensitiveDetector *aSD, const G4String &treeStructure)
std::vector< G4SDStructure * > structure
void Activate(G4bool activeFlag)