2 // Category: digits+hits
4 // See the class description in the header file.
6 #include "TG4VSensitiveDetector.h"
7 #include "TG4StepManager.h"
9 G4int TG4VSensitiveDetector::fgSDCounter = 0;
11 //_____________________________________________________________________________
12 TG4VSensitiveDetector::TG4VSensitiveDetector(G4String sdName)
13 : G4VSensitiveDetector(sdName),
14 fStepManager(TG4StepManager::Instance())
20 //_____________________________________________________________________________
21 TG4VSensitiveDetector::TG4VSensitiveDetector(G4String sdName, G4int id)
22 : G4VSensitiveDetector(sdName),
24 fStepManager(TG4StepManager::Instance())
31 //_____________________________________________________________________________
32 TG4VSensitiveDetector::TG4VSensitiveDetector(
33 const TG4VSensitiveDetector& right)
34 : G4VSensitiveDetector(right)
43 //_____________________________________________________________________________
44 TG4VSensitiveDetector::TG4VSensitiveDetector()
45 : G4VSensitiveDetector("")
50 //_____________________________________________________________________________
51 TG4VSensitiveDetector::~TG4VSensitiveDetector() {
57 //_____________________________________________________________________________
58 TG4VSensitiveDetector& TG4VSensitiveDetector::operator=(
59 const TG4VSensitiveDetector &right)
61 // check assignement to self
62 if (this == &right) return *this;
64 // base class assignement
65 TG4VSensitiveDetector::operator=(right);
68 fStepManager = right.fStepManager;
75 //_____________________________________________________________________________
76 G4bool TG4VSensitiveDetector::ProcessHits(G4Step* step, G4TouchableHistory*)
78 // Calls StepManager of associated AliModule.
81 // let user sensitive detector process normal step
82 fStepManager->SetStep(step, kNormalStep);
83 UserProcessHits(step->GetTrack(), step);
88 //_____________________________________________________________________________
89 G4bool TG4VSensitiveDetector::ProcessHitsOnBoundary(G4Step* step)
91 // Calls StepManager of associated AliModule
92 // when crossing a geometrical boundary.
95 // let user sensitive detector process boundary step
96 fStepManager->SetStep(step, kBoundary);
97 UserProcessHits(step->GetTrack(), step);