4 // See the class description in the header file.
6 #include "AliSensitiveDetector.h"
13 AliSensitiveDetector::AliSensitiveDetector(G4String sdName, AliModule* module)
14 : TG4VSensitiveDetector(sdName),
22 AliSensitiveDetector::AliSensitiveDetector(G4String sdName, AliModule* module,
24 : TG4VSensitiveDetector(sdName, id),
32 AliSensitiveDetector::AliSensitiveDetector(const AliSensitiveDetector& right)
33 : TG4VSensitiveDetector(right)
36 fModule = right.fModule;
39 AliSensitiveDetector::AliSensitiveDetector(){
43 AliSensitiveDetector::~AliSensitiveDetector() {
50 AliSensitiveDetector::operator=(const AliSensitiveDetector& right)
52 // check assignement to self
53 if (this == &right) return *this;
55 // base class assignement
56 TG4VSensitiveDetector::operator=(right);
58 fModule = right.fModule;
65 void AliSensitiveDetector::Initialize(G4HCofThisEvent*HCE)
67 // This method is called by G4 kernel at the beginning of event action
68 // before user defined BeginOfEventAction() method.
71 fModuleID = gAlice->GetModuleID(fModule->GetName());
72 fMCQA = gAlice->GetMCQA();
76 void AliSensitiveDetector::UserProcessHits(const G4Track* track,
79 // Calls StepManager of associated AliModule.
82 // add energy deposit of the current step
85 gAlice->AddEnergyDeposit(
86 fID, step->GetTotalEnergyDeposit()/TG3Units::Energy());
88 fMCQA->StepManager(fModuleID);
90 // let AliModule process the step
91 fModule->StepManager();