GEMC  2.2
Geant4 Monte-Carlo Framework
Public Member Functions | Data Fields
sensitiveDetector Class Reference

#include <sensitiveDetector.h>

+ Inheritance diagram for sensitiveDetector:
+ Collaboration diagram for sensitiveDetector:

Public Member Functions

 sensitiveDetector (G4String, goptions, string factory, int run, string variation, string system)
 Constructor. More...
 
virtual ~sensitiveDetector ()
 
virtual void Initialize (G4HCofThisEvent *)
 Virtual Method called at the beginning of each hit event. More...
 
virtual G4bool ProcessHits (G4Step *, G4TouchableHistory *)
 Virtual Method called for each step of each hit. More...
 
virtual void EndOfEvent (G4HCofThisEvent *)
 Virtual Method called at the end of each hit event. More...
 
vector< identifierGetDetectorIdentifier (string name)
 returns detector identity More...
 
string GetDetectorHitType (string name)
 returns detector hitType More...
 
MHitCollectionGetMHitCollection ()
 returns hit collection More...
 
MHitfind_existing_hit (vector< identifier >)
 returns hit collection hit inside identifer More...
 

Data Fields

G4String HCname
 Sensitive Detector/Hit Collection Name. More...
 
map< string, detector > * hallMap
 detector map More...
 
map< string, HitProcess_Factory > * hitProcessMap
 Hit Process Routine Factory Map. More...
 
set< vector< identifier > > Id_Set
 Identifier Set. Used to determine if a step is inside a new/existing element. More...
 
goptions gemcOpt
 gemc option class More...
 
sensitiveID SDID
 sensitiveID used for identification, hit properties and digitization More...
 

Detailed Description

sensitiveDetector

This is the gemc Sensitive Detector.
When a track enters a volume associated with this SD, the ProcessHits routine is called. ProcessHits builds the MHit and adds it in the MHitCollection.
At the end of event, each MHitCollection instantiate the HitProcess_Factory relative to the Hit Process and calls its method ProcessHit.

Definition at line 35 of file sensitiveDetector.h.

Constructor & Destructor Documentation

sensitiveDetector::sensitiveDetector ( G4String  name,
goptions  opt,
string  factory,
int  run,
string  variation,
string  system 
)

Definition at line 14 of file sensitiveDetector.cc.

sensitiveDetector::~sensitiveDetector ( )
virtual

Definition at line 31 of file sensitiveDetector.cc.

Member Function Documentation

void sensitiveDetector::EndOfEvent ( G4HCofThisEvent *  HCE)
virtual

Definition at line 235 of file sensitiveDetector.cc.

MHit * sensitiveDetector::find_existing_hit ( vector< identifier PID)
Parameters
PIDreturns hit collection hit inside identifer

Definition at line 265 of file sensitiveDetector.cc.

string sensitiveDetector::GetDetectorHitType ( string  name)
inline

Definition at line 69 of file sensitiveDetector.h.

vector<identifier> sensitiveDetector::GetDetectorIdentifier ( string  name)
inline

Definition at line 68 of file sensitiveDetector.h.

MHitCollection* sensitiveDetector::GetMHitCollection ( )
inline

Definition at line 70 of file sensitiveDetector.h.

void sensitiveDetector::Initialize ( G4HCofThisEvent *  HCE)
virtual

Definition at line 34 of file sensitiveDetector.cc.

G4bool sensitiveDetector::ProcessHits ( G4Step *  aStep,
G4TouchableHistory *   
)
virtual

< Volume name

< Hit informations The hit position is taken from PostStepPoint (inside the sensitive volume) Transformation to local coordinates has to be done with prestep

< Volume name

< Global Coordinates of interaction

< Local Coordinates of interaction

< Time of step

< Track Momentum (before entering the volume)

< Track Energy (before entering the volume)

< Track ID

< Track PID

< Track Charge

< Identifier at the geant4 level, using the G4 hierarchy to set the copies

< Checking if it's new hit or existing hit. Use the overloaded "=="

Definition at line 47 of file sensitiveDetector.cc.

Field Documentation

goptions sensitiveDetector::gemcOpt

Definition at line 50 of file sensitiveDetector.h.

map<string, detector>* sensitiveDetector::hallMap

Definition at line 46 of file sensitiveDetector.h.

G4String sensitiveDetector::HCname

Definition at line 45 of file sensitiveDetector.h.

map<string, HitProcess_Factory>* sensitiveDetector::hitProcessMap

Definition at line 47 of file sensitiveDetector.h.

set<vector<identifier> > sensitiveDetector::Id_Set

Definition at line 48 of file sensitiveDetector.h.

sensitiveID sensitiveDetector::SDID

Definition at line 51 of file sensitiveDetector.h.