#include <G4VUserDetectorConstruction.hh>
Inherited by B01DetectorConstruction, B02DetectorConstruction, B03DetectorConstruction, B1DetectorConstruction, B1DetectorConstruction, B1DetectorConstruction, B2aDetectorConstruction, B2bDetectorConstruction, B2bDetectorConstruction, B3DetectorConstruction, B3DetectorConstruction, B4cDetectorConstruction, B4dDetectorConstruction, B4DetectorConstruction, B4DetectorConstruction, B5DetectorConstruction, BrachyDetectorConstruction, CCalDetectorConstruction, CexmcSetup, CML2WorldConstruction, Collimator100BeamLine, Collimator40BeamLine, Collimator50BeamLine, Collimator60BeamLine, Collimator70BeamLine, Collimator80BeamLine, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DicomDetectorConstruction, DMXDetectorConstruction, ElectronBenchmarkDetector, Em10DetectorConstruction, eRositaDetectorConstruction, ExErrorDetectorConstruction, ExExChDetectorConstruction, ExG4DetectorConstruction01, ExG4DetectorConstruction01, ExG4DetectorConstruction01, ExG4DetectorConstruction02, ExG4DetectorConstruction02, ExG4DetectorConstruction02, ExGflashDetectorConstruction, ExN01DetectorConstruction, ExN02DetectorConstruction, ExN03DetectorConstruction, ExN04DetectorConstruction, ExN04DetectorConstruction, ExP01DetectorConstruction, ExP02DetConstrReader, ExP02DetectorConstruction, ExTGDetectorConstruction, ExTGDetectorConstructionWithCpp, ExTGDetectorConstructionWithCuts, ExTGDetectorConstructionWithSD, ExUCNDetectorConstruction, EzDetectorConstruction, F01DetectorConstruction, F02DetectorConstruction, F03DetectorConstruction, F04DetectorConstruction, F05DetectorConstruction, F06DetectorConstruction, FCALTestbeamSetup, FFDetectorConstruction, G01DetectorConstruction, G02DetectorConstruction, G03DetectorConstruction, G04DetectorConstruction, G3toG4DetectorConstruction, G4HumanPhantomConstruction, GammaKnifeDetectorConstruction, GammaRayTelDetectorConstruction, GB01DetectorConstruction, GB02DetectorConstruction, GB03DetectorConstruction, GB04DetectorConstruction, GeometryConstruction, LaserDrivenBeamLine, LXeDetectorConstruction, MyDetectorConstruction, OpNoviceDetectorConstruction, Par01DetectorConstruction, Par02DetectorConstruction, PassiveCarbonBeamLine, PassiveProtonBeamLine, PurgMagDetectorConstruction, pyG4VUserDetectorConstruction::CB_G4VUserDetectorConstruction, QDetectorConstruction, QDetectorConstruction, RE01DetectorConstruction, RE02DetectorConstruction, RE03DetectorConstruction, RE04DetectorConstruction, RE05DetectorConstruction, RE06DetectorConstruction, read_gdml.MyDetectorConstruction, read_gdml.MyDetectorConstruction, RMC01DetectorConstruction, test.MyDetectorConstruction, test.MyDetectorConstruction, test.MyDetectorConstruction, test.MyDetectorConstruction, test.MyDetectorConstruction, test.MyDetectorConstruction, TRTDetectorConstruction, TSDetectorConstruction, UltraDetectorConstruction, WLSDetectorConstruction, XDetectorConstruction, XrayFluoDetectorConstruction, XrayFluoGeometry, XrayFluoMercuryDetectorConstruction, XrayFluoPlaneDetectorConstruction, and XrayTelDetectorConstruction.
◆ G4VUserDetectorConstruction()
G4VUserDetectorConstruction::G4VUserDetectorConstruction |
( |
| ) |
|
◆ ~G4VUserDetectorConstruction()
G4VUserDetectorConstruction::~G4VUserDetectorConstruction |
( |
| ) |
|
|
virtual |
◆ CloneF()
void G4VUserDetectorConstruction::CloneF |
( |
| ) |
|
|
virtual |
Definition at line 108 of file G4VUserDetectorConstruction.cc.
110 typedef std::map<G4FieldManager*,G4FieldManager*> FMtoFMmap;
111 typedef std::pair<G4FieldManager*,G4FieldManager*> FMpair;
112 FMtoFMmap masterToWorker;
114 assert( logVolStore != NULL );
115 for ( G4LogicalVolumeStore::const_iterator it = logVolStore->begin() ; it != logVolStore->end() ; ++it )
123 FMtoFMmap::iterator fmFound = masterToWorker.find(masterFM);
124 if ( fmFound == masterToWorker.end() )
128 std::pair<FMtoFMmap::iterator,bool> insertedEl = masterToWorker.insert( FMpair(masterFM, masterFM->
Clone()) );
129 clonedFM = (insertedEl.first)->
second;
134 msg <<
"Cloning of G4FieldManager failed." 135 <<
" But derived class does not implement cloning. Cannot continue.";
143 clonedFM = (*fmFound).second;
std::ostringstream G4ExceptionDescription
void SetFieldManager(G4FieldManager *pFieldMgr, G4bool forceToAllDaughters)
static G4LogicalVolumeStore * GetInstance()
static const double second
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
virtual G4FieldManager * Clone() const
◆ CloneSD()
void G4VUserDetectorConstruction::CloneSD |
( |
| ) |
|
|
virtual |
Definition at line 154 of file G4VUserDetectorConstruction.cc.
158 assert( logVolStore != NULL );
160 typedef std::map<G4VSensitiveDetector*,G4VSensitiveDetector*> SDtoSDmap;
161 typedef std::pair<G4VSensitiveDetector*,G4VSensitiveDetector*> SDpair;
162 SDtoSDmap masterToWorker;
164 for ( G4LogicalVolumeStore::const_iterator it = logVolStore->begin() ; it != logVolStore->end() ; ++it )
172 SDtoSDmap::iterator sdFound = masterToWorker.find(masterSD);
173 if ( sdFound == masterToWorker.end() )
177 std::pair<SDtoSDmap::iterator,bool> insertedEl = masterToWorker.insert( SDpair(masterSD,masterSD->
Clone()) );
178 clonedSD = (insertedEl.first)->
second;
183 msg <<
"Cloning of G4VSensitiveDetector requested for:" << masterSD->
GetName() <<
"\n" 187 <<
" But derived class does not implement cloning. Cannot continue.";
195 clonedSD = (*sdFound).second;
G4String GetFullPathName() const
std::ostringstream G4ExceptionDescription
virtual G4VSensitiveDetector * Clone() const
static G4LogicalVolumeStore * GetInstance()
static const double second
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
void SetSensitiveDetector(G4VSensitiveDetector *pSDetector)
◆ Construct()
Implemented in RE02DetectorConstruction, CexmcSetup, GammaRayTelDetectorConstruction, TSDetectorConstruction, Em10DetectorConstruction, CML2WorldConstruction, XrayFluoDetectorConstruction, DetectorConstruction, F01DetectorConstruction, F02DetectorConstruction, F03DetectorConstruction, XrayFluoMercuryDetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, XrayFluoPlaneDetectorConstruction, DetectorConstruction, ExN03DetectorConstruction, PurgMagDetectorConstruction, DMXDetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, UltraDetectorConstruction, DetectorConstruction, ExErrorDetectorConstruction, DetectorConstruction, WLSDetectorConstruction, Collimator100BeamLine, Collimator40BeamLine, Collimator50BeamLine, Collimator60BeamLine, Collimator70BeamLine, Collimator80BeamLine, XrayTelDetectorConstruction, DetectorConstruction, G02DetectorConstruction, LaserDrivenBeamLine, RMC01DetectorConstruction, DetectorConstruction, DicomDetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, B4cDetectorConstruction, B4dDetectorConstruction, ExG4DetectorConstruction02, ExG4DetectorConstruction02, ExG4DetectorConstruction02, DetectorConstruction, DetectorConstruction, DetectorConstruction, FCALTestbeamSetup, B4DetectorConstruction, B4DetectorConstruction, F04DetectorConstruction, F06DetectorConstruction, DetectorConstruction, DetectorConstruction, DicomPartialDetectorConstruction, ExN02DetectorConstruction, Par02DetectorConstruction, G03DetectorConstruction, ExP01DetectorConstruction, ExG4DetectorConstruction01, ExG4DetectorConstruction01, F05DetectorConstruction, ExG4DetectorConstruction01, LXeDetectorConstruction, DetectorConstruction, DetectorConstruction, FFDetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, XrayFluoGeometry, B5DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, RE04DetectorConstruction, BrachyDetectorConstruction, eRositaDetectorConstruction, B2aDetectorConstruction, B2bDetectorConstruction, ExUCNDetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, ElectronBenchmarkDetector, B2bDetectorConstruction, DetectorConstruction, DetectorConstruction, PassiveProtonBeamLine, GB04DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, ExN01DetectorConstruction, DetectorConstruction, ExExChDetectorConstruction, DetectorConstruction, DetectorConstruction, MyDetectorConstruction, DetectorConstruction, G3toG4DetectorConstruction, B3DetectorConstruction, B3DetectorConstruction, ExGflashDetectorConstruction, TRTDetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, ExP02DetConstrReader, DetectorConstruction, RE06DetectorConstruction, GammaKnifeDetectorConstruction, PassiveCarbonBeamLine, G4HumanPhantomConstruction, B01DetectorConstruction, B02DetectorConstruction, GB01DetectorConstruction, GB02DetectorConstruction, GB03DetectorConstruction, GeometryConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, G01DetectorConstruction, EzDetectorConstruction, QDetectorConstruction, QDetectorConstruction, ExN04DetectorConstruction, ExP02DetectorConstruction, RE01DetectorConstruction, RE05DetectorConstruction, B1DetectorConstruction, B1DetectorConstruction, B03DetectorConstruction, G04DetectorConstruction, ExTGDetectorConstruction, ExTGDetectorConstructionWithCpp, ExTGDetectorConstructionWithCuts, ExTGDetectorConstructionWithSD, RE03DetectorConstruction, B1DetectorConstruction, XDetectorConstruction, pyG4VUserDetectorConstruction::CB_G4VUserDetectorConstruction, DetectorConstruction, ExN04DetectorConstruction, OpNoviceDetectorConstruction, Par01DetectorConstruction, CCalDetectorConstruction, DetectorConstruction, DetectorConstruction, and DetectorConstruction.
◆ ConstructParallelGeometries()
G4int G4VUserDetectorConstruction::ConstructParallelGeometries |
( |
| ) |
|
Definition at line 64 of file G4VUserDetectorConstruction.cc.
67 std::vector<G4VUserParallelWorld*>::iterator pwItr;
70 (*pwItr)->Construct();
std::vector< G4VUserParallelWorld * > parallelWorld
◆ ConstructParallelSD()
void G4VUserDetectorConstruction::ConstructParallelSD |
( |
| ) |
|
Definition at line 76 of file G4VUserDetectorConstruction.cc.
78 std::vector<G4VUserParallelWorld*>::iterator pwItr;
80 { (*pwItr)->ConstructSD(); }
std::vector< G4VUserParallelWorld * > parallelWorld
◆ ConstructSDandField()
void G4VUserDetectorConstruction::ConstructSDandField |
( |
| ) |
|
|
virtual |
Reimplemented in RE02DetectorConstruction, TSDetectorConstruction, GammaRayTelDetectorConstruction, DicomDetectorConstruction, XrayFluoDetectorConstruction, F01DetectorConstruction, F02DetectorConstruction, XrayFluoMercuryDetectorConstruction, F03DetectorConstruction, DetectorConstruction, XrayFluoPlaneDetectorConstruction, DetectorConstruction, PurgMagDetectorConstruction, DMXDetectorConstruction, DetectorConstruction, WLSDetectorConstruction, UltraDetectorConstruction, DetectorConstruction, LaserDrivenBeamLine, DetectorConstruction, B01DetectorConstruction, DetectorConstruction, DetectorConstruction, B4cDetectorConstruction, B4dDetectorConstruction, F04DetectorConstruction, Par02DetectorConstruction, FCALTestbeamSetup, B4DetectorConstruction, B4DetectorConstruction, F06DetectorConstruction, F05DetectorConstruction, LXeDetectorConstruction, DetectorConstruction, ExExChDetectorConstruction, ElectronBenchmarkDetector, B5DetectorConstruction, DetectorConstruction, B2aDetectorConstruction, B2bDetectorConstruction, ExUCNDetectorConstruction, B2bDetectorConstruction, G4HumanPhantomConstruction, GB04DetectorConstruction, DetectorConstruction, DetectorConstruction, DetectorConstruction, B3DetectorConstruction, B3DetectorConstruction, ExGflashDetectorConstruction, RE06DetectorConstruction, GB01DetectorConstruction, GB02DetectorConstruction, GB03DetectorConstruction, RE01DetectorConstruction, RE05DetectorConstruction, G04DetectorConstruction, ExTGDetectorConstructionWithSD, RE03DetectorConstruction, DetectorConstruction, XDetectorConstruction, Par01DetectorConstruction, DetectorConstruction, DetectorConstruction, and DetectorConstruction.
Definition at line 94 of file G4VUserDetectorConstruction.cc.
◆ GetNumberOfParallelWorld()
G4int G4VUserDetectorConstruction::GetNumberOfParallelWorld |
( |
| ) |
const |
◆ GetParallelWorld()
◆ RegisterParallelWorld()
Definition at line 47 of file G4VUserDetectorConstruction.cc.
49 std::vector<G4VUserParallelWorld*>::iterator pwItr;
52 if((*pwItr)->GetName()==aPW->
GetName())
56 eM +=
"> is already registered to the user detector construction.";
57 G4Exception(
"G4VUserDetectorConstruction::RegisterParallelWorld",
std::vector< G4VUserParallelWorld * > parallelWorld
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
◆ SetSensitiveDetector() [1/2]
Definition at line 205 of file G4VUserDetectorConstruction.cc.
209 for(G4LogicalVolumeStore::iterator
pos=store->begin();
pos!=store->end();
pos++)
211 if((*pos)->GetName()==logVolName)
215 G4String eM =
"More than one logical volumes of the name <";
216 eM += (*pos)->GetName();
217 eM +=
"> are found and thus the sensitive detector <";
219 eM +=
"> cannot be uniquely assigned.";
220 G4Exception(
"G4VUserDetectorConstruction::SetSensitiveDetector",
229 G4String eM2 =
"No logical volume of the name <";
231 eM2 +=
"> is found. The specified sensitive detector <";
233 eM2 +=
"> couldn't be assigned to any volume.";
234 G4Exception(
"G4VUserDetectorConstruction::SetSensitiveDetector",
static G4LogicalVolumeStore * GetInstance()
void SetSensitiveDetector(const G4String &logVolName, G4VSensitiveDetector *aSD, G4bool multi=false)
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
static const G4double pos
◆ SetSensitiveDetector() [2/2]
Definition at line 240 of file G4VUserDetectorConstruction.cc.
242 assert(logVol!=
nullptr&&aSD!=
nullptr);
251 if ( originalSD ==
nullptr ) {
255 if ( msd !=
nullptr ) {
262 msd->
AddSD(originalSD);
void AddSD(G4VSensitiveDetector *sd)
const G4String & GetName() const
void AddNewDetector(G4VSensitiveDetector *aSD)
static G4SDManager * GetSDMpointer()
G4VSensitiveDetector * GetSensitiveDetector() const
void SetSensitiveDetector(G4VSensitiveDetector *pSDetector)
◆ parallelWorld
The documentation for this class was generated from the following files: