#include <G4VSensitiveDetector.hh>
Inheritance diagram for G4VSensitiveDetector:
Definition at line 50 of file G4VSensitiveDetector.hh.
G4VSensitiveDetector::G4VSensitiveDetector | ( | G4String | name | ) |
Definition at line 33 of file G4VSensitiveDetector.cc.
References fullPathName, G4String::last(), G4String::prepend(), G4String::remove(), SensitiveDetectorName, and thePathName.
00034 :verboseLevel(0),active(true),ROgeometry(0),filter(0) 00035 { 00036 size_t sLast = name.last('/'); 00037 if(sLast==std::string::npos) 00038 { // detector name only 00039 SensitiveDetectorName = name; 00040 thePathName = "/"; 00041 } 00042 else 00043 { // name conatin the directory path 00044 SensitiveDetectorName = name; 00045 SensitiveDetectorName.remove(0,sLast+1); 00046 thePathName = name; 00047 thePathName.remove(sLast+1,name.length()-sLast); 00048 if(thePathName(0)!='/') thePathName.prepend("/"); 00049 } 00050 fullPathName = thePathName + SensitiveDetectorName; 00051 }
G4VSensitiveDetector::G4VSensitiveDetector | ( | const G4VSensitiveDetector & | right | ) |
Definition at line 53 of file G4VSensitiveDetector.cc.
References active, filter, fullPathName, ROgeometry, SensitiveDetectorName, thePathName, and verboseLevel.
00054 { 00055 SensitiveDetectorName = right.SensitiveDetectorName; 00056 thePathName = right.thePathName; 00057 fullPathName = right.fullPathName; 00058 verboseLevel = right.verboseLevel; 00059 active = right.active; 00060 ROgeometry = right.ROgeometry; 00061 filter = right.filter; 00062 }
G4VSensitiveDetector::~G4VSensitiveDetector | ( | ) | [virtual] |
void G4VSensitiveDetector::Activate | ( | G4bool | activeFlag | ) | [inline] |
Definition at line 142 of file G4VSensitiveDetector.hh.
References active.
Referenced by G4SDStructure::Activate().
00143 { active = activeFlag; }
void G4VSensitiveDetector::clear | ( | ) | [virtual] |
void G4VSensitiveDetector::DrawAll | ( | ) | [virtual] |
void G4VSensitiveDetector::EndOfEvent | ( | G4HCofThisEvent * | ) | [virtual] |
Definition at line 90 of file G4VSensitiveDetector.cc.
References collectionName, G4SDManager::GetCollectionID(), G4SDManager::GetSDMpointer(), and SensitiveDetectorName.
00091 { 00092 return G4SDManager::GetSDMpointer()->GetCollectionID(SensitiveDetectorName+"/"+collectionName[i]); 00093 }
Definition at line 138 of file G4VSensitiveDetector.hh.
References collectionName.
Referenced by G4SDManager::AddNewDetector(), and G4HCtable::GetCollectionID().
00139 { return collectionName[id]; }
G4VSDFilter* G4VSensitiveDetector::GetFilter | ( | ) | const [inline] |
G4String G4VSensitiveDetector::GetFullPathName | ( | ) | const [inline] |
Definition at line 150 of file G4VSensitiveDetector.hh.
References fullPathName.
00151 { return fullPathName; }
G4String G4VSensitiveDetector::GetName | ( | ) | const [inline] |
Definition at line 146 of file G4VSensitiveDetector.hh.
References SensitiveDetectorName.
Referenced by G4SDStructure::AddNewDetector(), G4SDManager::AddNewDetector(), G4VPrimitiveScorer::GetCollectionID(), G4HCtable::GetCollectionID(), G4PSTrackLength::Initialize(), G4PSTrackCounter::Initialize(), G4PSTermination::Initialize(), G4PSSphereSurfaceFlux::Initialize(), G4PSSphereSurfaceCurrent::Initialize(), G4PSPopulation::Initialize(), G4PSPassageTrackLength::Initialize(), G4PSPassageCellFlux::Initialize(), G4PSPassageCellCurrent::Initialize(), G4PSNofStep::Initialize(), G4PSNofSecondary::Initialize(), G4PSNofCollision::Initialize(), G4PSMinKinEAtGeneration::Initialize(), G4PSFlatSurfaceFlux::Initialize(), G4PSFlatSurfaceCurrent::Initialize(), G4PSEnergyDeposit::Initialize(), G4PSDoseDeposit::Initialize(), G4PSCylinderSurfaceFlux::Initialize(), G4PSCylinderSurfaceCurrent::Initialize(), G4PSCellFlux::Initialize(), G4PSCellCharge::Initialize(), G4PSTrackLength::PrintAll(), G4PSTrackCounter::PrintAll(), G4PSTermination::PrintAll(), G4PSSphereSurfaceFlux::PrintAll(), G4PSSphereSurfaceCurrent::PrintAll(), G4PSPopulation::PrintAll(), G4PSPassageTrackLength::PrintAll(), G4PSPassageCellFlux::PrintAll(), G4PSPassageCellCurrent::PrintAll(), G4PSNofStep::PrintAll(), G4PSNofCollision::PrintAll(), G4PSFlatSurfaceFlux::PrintAll(), G4PSFlatSurfaceCurrent::PrintAll(), G4PSEnergyDeposit::PrintAll(), G4PSDoseDeposit::PrintAll(), G4PSCylinderSurfaceFlux::PrintAll(), G4PSCylinderSurfaceCurrent::PrintAll(), G4PSCellFlux::PrintAll(), G4PSCellCharge::PrintAll(), G3DetTable::PrintAll(), and G4ASCIITreeSceneHandler::RequestPrimitives().
00147 { return SensitiveDetectorName; }
G4int G4VSensitiveDetector::GetNumberOfCollections | ( | ) | const [inline] |
Definition at line 136 of file G4VSensitiveDetector.hh.
References collectionName.
Referenced by G4SDManager::AddNewDetector(), and G4HCtable::GetCollectionID().
00137 { return collectionName.size(); }
G4String G4VSensitiveDetector::GetPathName | ( | ) | const [inline] |
Definition at line 148 of file G4VSensitiveDetector.hh.
References thePathName.
Referenced by G4SDManager::AddNewDetector().
00149 { return thePathName; }
G4VReadOutGeometry* G4VSensitiveDetector::GetROgeometry | ( | ) | const [inline] |
Definition at line 152 of file G4VSensitiveDetector.hh.
References ROgeometry.
Referenced by G4LogicalVolumeModel::DescribeYourselfTo(), G4VGFlashSensitiveDetector::Hit(), and G4ASCIITreeSceneHandler::RequestPrimitives().
00153 { return ROgeometry; }
Definition at line 114 of file G4VSensitiveDetector.hh.
References G4VSDFilter::Accept(), G4VReadOutGeometry::CheckROVolume(), filter, isActive(), ProcessHits(), and ROgeometry.
Referenced by G4ParallelWorldScoringProcess::AtRestDoIt(), G4ParallelWorldProcess::AtRestDoIt(), G4ScoreSplittingProcess::PostStepDoIt(), G4ParallelWorldScoringProcess::PostStepDoIt(), G4ParallelWorldProcess::PostStepDoIt(), and G4SteppingManager::Stepping().
00115 { 00116 G4TouchableHistory* ROhis = 0; 00117 if(!isActive()) return false; 00118 if(filter) 00119 { if(!(filter->Accept(aStep))) return false; } 00120 if(ROgeometry) 00121 { if(!(ROgeometry->CheckROVolume(aStep,ROhis))) return false; } 00122 return ProcessHits(aStep,ROhis); 00123 }
void G4VSensitiveDetector::Initialize | ( | G4HCofThisEvent * | ) | [virtual] |
G4bool G4VSensitiveDetector::isActive | ( | ) | const [inline] |
Definition at line 144 of file G4VSensitiveDetector.hh.
References active.
Referenced by Hit(), and G4VGFlashSensitiveDetector::Hit().
00145 { return active; }
G4int G4VSensitiveDetector::operator!= | ( | const G4VSensitiveDetector & | right | ) | const |
const G4VSensitiveDetector & G4VSensitiveDetector::operator= | ( | const G4VSensitiveDetector & | right | ) |
Definition at line 68 of file G4VSensitiveDetector.cc.
References active, filter, fullPathName, ROgeometry, SensitiveDetectorName, thePathName, and verboseLevel.
00069 { 00070 SensitiveDetectorName = right.SensitiveDetectorName; 00071 thePathName = right.thePathName; 00072 fullPathName = right.fullPathName; 00073 verboseLevel = right.verboseLevel; 00074 active = right.active; 00075 ROgeometry = right.ROgeometry; 00076 filter = right.filter; 00077 return *this; 00078 }
G4int G4VSensitiveDetector::operator== | ( | const G4VSensitiveDetector & | right | ) | const |
void G4VSensitiveDetector::PrintAll | ( | ) | [virtual] |
virtual G4bool G4VSensitiveDetector::ProcessHits | ( | G4Step * | aStep, | |
G4TouchableHistory * | ROhist | |||
) | [protected, pure virtual] |
void G4VSensitiveDetector::SetFilter | ( | G4VSDFilter * | value | ) | [inline] |
void G4VSensitiveDetector::SetROgeometry | ( | G4VReadOutGeometry * | value | ) | [inline] |
Definition at line 128 of file G4VSensitiveDetector.hh.
References ROgeometry.
00129 { ROgeometry = value; }
void G4VSensitiveDetector::SetVerboseLevel | ( | G4int | vl | ) | [inline] |
Definition at line 140 of file G4VSensitiveDetector.hh.
References verboseLevel.
00141 { verboseLevel = vl; }
G4bool G4VSensitiveDetector::active [protected] |
Definition at line 109 of file G4VSensitiveDetector.hh.
Referenced by Activate(), G4VSensitiveDetector(), isActive(), and operator=().
Definition at line 99 of file G4VSensitiveDetector.hh.
Referenced by GetCollectionID(), GetCollectionName(), GetNumberOfCollections(), G4MultiFunctionalDetector::RegisterPrimitive(), and G4MultiFunctionalDetector::RemovePrimitive().
G4VSDFilter* G4VSensitiveDetector::filter [protected] |
Definition at line 111 of file G4VSensitiveDetector.hh.
Referenced by G4VSensitiveDetector(), GetFilter(), Hit(), operator=(), and SetFilter().
G4String G4VSensitiveDetector::fullPathName [protected] |
Definition at line 107 of file G4VSensitiveDetector.hh.
Referenced by G4VSensitiveDetector(), GetFullPathName(), and operator=().
G4VReadOutGeometry* G4VSensitiveDetector::ROgeometry [protected] |
Definition at line 110 of file G4VSensitiveDetector.hh.
Referenced by G4VSensitiveDetector(), GetROgeometry(), Hit(), operator=(), and SetROgeometry().
G4String G4VSensitiveDetector::SensitiveDetectorName [protected] |
Definition at line 105 of file G4VSensitiveDetector.hh.
Referenced by G4VSensitiveDetector(), GetCollectionID(), GetName(), operator=(), G4MultiFunctionalDetector::RegisterPrimitive(), and G4MultiFunctionalDetector::RemovePrimitive().
G4String G4VSensitiveDetector::thePathName [protected] |
Definition at line 106 of file G4VSensitiveDetector.hh.
Referenced by G4VSensitiveDetector(), GetPathName(), and operator=().
G4int G4VSensitiveDetector::verboseLevel [protected] |
Definition at line 108 of file G4VSensitiveDetector.hh.
Referenced by G4VSensitiveDetector(), operator=(), and SetVerboseLevel().