31#include "G4HCofThisEvent.hh"
34#include "G4SystemOfUnits.hh"
35#include "G4TouchableHistory.hh"
43 fMuonCollection(NULL), fPositionResolution(5*cm)
46 collectionName.insert(HCname=
"muonCollection");
57 (SensitiveDetectorName,collectionName[0]);
59 { HCID = GetCollectionID(0); }
66 G4double edep = aStep->GetTotalEnergyDeposit();
68 if(edep==0.)
return true;
72 G4ThreeVector hitpos = aStep->GetPreStepPoint()->GetPosition();
73 for(
int i=0;i<nHit;i++) {
74 aHit = (*fMuonCollection)[i];
75 G4ThreeVector pos = aHit->
GetPos();
76 G4double dist2 = sqr(pos.x()-hitpos.x())
77 +sqr(pos.y()-hitpos.y())+sqr(pos.z()-hitpos.z());
85 aHit->
SetPos( aStep->GetPreStepPoint()->GetPosition() );
Definition of the ExN04MuonHit class.
G4THitsCollection< ExN04MuonHit > ExN04MuonHitsCollection
Definition of the ExN04MuonSD class.
void SetPos(G4ThreeVector xyz)
void AddEdep(G4double de)
void SetEdep(G4double de)
virtual G4bool ProcessHits(G4Step *aStep, G4TouchableHistory *ROhist)
virtual void EndOfEvent(G4HCofThisEvent *HCE)
G4double fPositionResolution
ExN04MuonSD(G4String name)
ExN04MuonHitsCollection * fMuonCollection
virtual void Initialize(G4HCofThisEvent *HCE)