4 // See the class description in the header file.
6 #include "AliSensitiveDetector.h"
10 #include "TG4StepManager.h"
12 AliSensitiveDetector::AliSensitiveDetector(G4String sdName, AliModule* module)
13 : TG4VSensitiveDetector(sdName),
15 fStepManager(TG4StepManager::Instance())
20 AliSensitiveDetector::AliSensitiveDetector(G4String sdName, AliModule* module,
22 : TG4VSensitiveDetector(sdName, id),
24 fStepManager(TG4StepManager::Instance())
29 AliSensitiveDetector::AliSensitiveDetector(const AliSensitiveDetector& right)
30 : TG4VSensitiveDetector(right)
33 fModule = right.fModule;
34 fStepManager = right.fStepManager;
37 AliSensitiveDetector::AliSensitiveDetector(){
41 AliSensitiveDetector::~AliSensitiveDetector() {
48 AliSensitiveDetector::operator=(const AliSensitiveDetector& right)
50 // check assignement to self
51 if (this == &right) return *this;
53 // base class assignement
54 TG4VSensitiveDetector::operator=(right);
56 fModule = right.fModule;
57 fStepManager = right.fStepManager;
64 void AliSensitiveDetector::Initialize(G4HCofThisEvent* hc)
66 // This method is called at the beginning of event action
67 // before user defined BeginOfEventAction() method.
70 G4bool AliSensitiveDetector::ProcessHits(G4Step* step, G4TouchableHistory*)
72 // Calls StepManager of associated AliModules.
75 // add energy deposit of the current step
78 gAlice->AddEnergyDeposit(fID, step->GetTotalEnergyDeposit());
82 = step->GetTrack()->GetParentID();
84 if (parentID==0) shunt = 1;
85 fModule->SetIshunt(shunt);
87 // let AliModule process step
88 fStepManager->SetStep(step);
89 fModule->StepManager();
94 void AliSensitiveDetector::EndOfEvent(G4HCofThisEvent* hce){
98 //void AliSensitiveDetector::clear()
101 void AliSensitiveDetector::PrintAll() {
105 void AliSensitiveDetector::DrawAll() {