]> git.uio.no Git - u/mrichter/AliRoot.git/blame - AliGeant4/AliSensitiveDetector.cxx
This commit was generated by cvs2svn to compensate for changes in r1459,
[u/mrichter/AliRoot.git] / AliGeant4 / AliSensitiveDetector.cxx
CommitLineData
676fb573 1// $Id$ //
2// Category: geometry
3//
4// See the class description in the header file.
5
6#include "AliSensitiveDetector.h"
7#include "AliModule.h"
8#include "AliRun.h"
9
10#include "TG4StepManager.h"
11
12AliSensitiveDetector::AliSensitiveDetector(G4String sdName, AliModule* module)
13 : TG4VSensitiveDetector(sdName),
14 fModule(module),
15 fStepManager(TG4StepManager::Instance())
16{
17//
18}
19
20AliSensitiveDetector::AliSensitiveDetector(G4String sdName, AliModule* module,
21 G4int id)
22 : TG4VSensitiveDetector(sdName, id),
23 fModule(module),
24 fStepManager(TG4StepManager::Instance())
25{
26//
27}
28
29AliSensitiveDetector::AliSensitiveDetector(const AliSensitiveDetector& right)
30 : TG4VSensitiveDetector(right)
31{
32//
33 fModule = right.fModule;
34 fStepManager = right.fStepManager;
35}
36
37AliSensitiveDetector::AliSensitiveDetector(){
38//
39}
40
41AliSensitiveDetector::~AliSensitiveDetector() {
42//
43}
44
45// operators
46
47AliSensitiveDetector&
48AliSensitiveDetector::operator=(const AliSensitiveDetector& right)
49{
50 // check assignement to self
51 if (this == &right) return *this;
52
53 // base class assignement
54 TG4VSensitiveDetector::operator=(right);
55
56 fModule = right.fModule;
57 fStepManager = right.fStepManager;
58
59 return *this;
60}
61
62// public methods
63
64void AliSensitiveDetector::Initialize(G4HCofThisEvent* hc)
65{
66// This method is called at the beginning of event action
67// before user defined BeginOfEventAction() method.
68}
69
70G4bool AliSensitiveDetector::ProcessHits(G4Step* step, G4TouchableHistory*)
71{
72// Calls StepManager of associated AliModules.
73// ---
74
75 // add energy deposit of the current step
76 // directly to AliRun
77 G4int copy;
78 gAlice->AddEnergyDeposit(fID, step->GetTotalEnergyDeposit());
79
80 // parent ID -> shunt
81 G4int parentID
82 = step->GetTrack()->GetParentID();
83 Int_t shunt = 0;
84 if (parentID==0) shunt = 1;
85 fModule->SetIshunt(shunt);
86
87 // let AliModule process step
88 fStepManager->SetStep(step);
89 fModule->StepManager();
90
91 return true;
92}
93
94void AliSensitiveDetector::EndOfEvent(G4HCofThisEvent* hce){
95//
96}
97
98//void AliSensitiveDetector::clear()
99//{}
100
101void AliSensitiveDetector::PrintAll() {
102//
103}
104
105void AliSensitiveDetector::DrawAll() {
106//
107}