G4VSensitiveDetector Class Reference

#include <G4VSensitiveDetector.hh>

Inheritance diagram for G4VSensitiveDetector:

G4MultiFunctionalDetector

Public Member Functions

 G4VSensitiveDetector (G4String name)
 G4VSensitiveDetector (const G4VSensitiveDetector &right)
virtual ~G4VSensitiveDetector ()
const G4VSensitiveDetectoroperator= (const G4VSensitiveDetector &right)
G4int operator== (const G4VSensitiveDetector &right) const
G4int operator!= (const G4VSensitiveDetector &right) const
virtual void Initialize (G4HCofThisEvent *)
virtual void EndOfEvent (G4HCofThisEvent *)
virtual void clear ()
virtual void DrawAll ()
virtual void PrintAll ()
G4bool Hit (G4Step *aStep)
void SetROgeometry (G4VReadOutGeometry *value)
void SetFilter (G4VSDFilter *value)
G4int GetNumberOfCollections () const
G4String GetCollectionName (G4int id) const
void SetVerboseLevel (G4int vl)
void Activate (G4bool activeFlag)
G4bool isActive () const
G4String GetName () const
G4String GetPathName () const
G4String GetFullPathName () const
G4VReadOutGeometryGetROgeometry () const
G4VSDFilterGetFilter () const

Protected Member Functions

virtual G4bool ProcessHits (G4Step *aStep, G4TouchableHistory *ROhist)=0
virtual G4int GetCollectionID (G4int i)

Protected Attributes

G4CollectionNameVector collectionName
G4String SensitiveDetectorName
G4String thePathName
G4String fullPathName
G4int verboseLevel
G4bool active
G4VReadOutGeometryROgeometry
G4VSDFilterfilter

Detailed Description

Definition at line 50 of file G4VSensitiveDetector.hh.


Constructor & Destructor Documentation

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]

Definition at line 64 of file G4VSensitiveDetector.cc.

00065 {
00066 }


Member Function Documentation

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]

Reimplemented in G4MultiFunctionalDetector.

Definition at line 106 of file G4VSensitiveDetector.cc.

00107 {
00108 }

void G4VSensitiveDetector::DrawAll (  )  [virtual]

Reimplemented in G4MultiFunctionalDetector.

Definition at line 110 of file G4VSensitiveDetector.cc.

00111 {
00112 }

void G4VSensitiveDetector::EndOfEvent ( G4HCofThisEvent  )  [virtual]

Reimplemented in G4MultiFunctionalDetector.

Definition at line 102 of file G4VSensitiveDetector.cc.

00103 {
00104 }

G4int G4VSensitiveDetector::GetCollectionID ( G4int  i  )  [protected, virtual]

Definition at line 90 of file G4VSensitiveDetector.cc.

References collectionName, G4SDManager::GetCollectionID(), G4SDManager::GetSDMpointer(), and SensitiveDetectorName.

G4String G4VSensitiveDetector::GetCollectionName ( G4int  id  )  const [inline]

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]

Definition at line 154 of file G4VSensitiveDetector.hh.

References filter.

00155       { return filter; }

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; }

G4bool G4VSensitiveDetector::Hit ( G4Step aStep  )  [inline]

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]

Reimplemented in G4MultiFunctionalDetector.

Definition at line 98 of file G4VSensitiveDetector.cc.

00099 {
00100 }

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

Definition at line 85 of file G4VSensitiveDetector.cc.

00086 {
00087    return (this!=&right);
00088 }

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

Definition at line 80 of file G4VSensitiveDetector.cc.

00081 {
00082    return (this==&right);
00083 }

void G4VSensitiveDetector::PrintAll (  )  [virtual]

Reimplemented in G4MultiFunctionalDetector.

Definition at line 114 of file G4VSensitiveDetector.cc.

00115 {
00116 }

virtual G4bool G4VSensitiveDetector::ProcessHits ( G4Step aStep,
G4TouchableHistory ROhist 
) [protected, pure virtual]

Implemented in G4MultiFunctionalDetector.

Referenced by Hit().

void G4VSensitiveDetector::SetFilter ( G4VSDFilter value  )  [inline]

Definition at line 131 of file G4VSensitiveDetector.hh.

References filter.

00132       { filter = value; }

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; }


Field Documentation

G4bool G4VSensitiveDetector::active [protected]

Definition at line 109 of file G4VSensitiveDetector.hh.

Referenced by Activate(), G4VSensitiveDetector(), isActive(), and operator=().

G4CollectionNameVector G4VSensitiveDetector::collectionName [protected]

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().


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:53:55 2013 for Geant4 by  doxygen 1.4.7