Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
RE05MuonSD Class Reference

#include <Doxymodules_runAndEvent.h>

Inheritance diagram for RE05MuonSD:
G4VSensitiveDetector

Public Member Functions

 RE05MuonSD (G4String name)
 
virtual ~RE05MuonSD ()
 
virtual void Initialize (G4HCofThisEvent *HCE)
 
virtual G4bool ProcessHits (G4Step *aStep, G4TouchableHistory *ROhist)
 
virtual void EndOfEvent (G4HCofThisEvent *HCE)
 
virtual void clear ()
 
virtual void DrawAll ()
 
virtual void PrintAll ()
 

Private Attributes

RE05MuonHitsCollectionfMuonCollection
 
G4double fPositionResolution
 

Detailed Description

Definition at line 113 of file Doxymodules_runAndEvent.h.

Constructor & Destructor Documentation

◆ RE05MuonSD()

RE05MuonSD::RE05MuonSD ( G4String  name)

Definition at line 42 of file RE05MuonSD.cc.

45{
46 G4String HCname;
47 collectionName.insert(HCname="muonCollection");
49}
RE05MuonHitsCollection * fMuonCollection
Definition RE05MuonSD.hh:55
G4double fPositionResolution
Definition RE05MuonSD.hh:56

◆ ~RE05MuonSD()

RE05MuonSD::~RE05MuonSD ( )
virtual

Definition at line 53 of file RE05MuonSD.cc.

54{}

Member Function Documentation

◆ Initialize()

void RE05MuonSD::Initialize ( G4HCofThisEvent HCE)
virtual

Definition at line 58 of file RE05MuonSD.cc.

59{
60 static int HCID = -1;
62 (SensitiveDetectorName,collectionName[0]);
63 if(HCID<0)
64 { HCID = GetCollectionID(0); }
65 HCE->AddHitsCollection(HCID,fMuonCollection);
66}
G4THitsCollection< RE05MuonHit > RE05MuonHitsCollection

◆ ProcessHits()

G4bool RE05MuonSD::ProcessHits ( G4Step aStep,
G4TouchableHistory ROhist 
)
virtual

Definition at line 70 of file RE05MuonSD.cc.

71{
72 G4double edep = aStep->GetTotalEnergyDeposit();
73
74 if(edep==0.) return true;
75
76 RE05MuonHit* aHit;
77 int nHit = fMuonCollection->entries();
78 G4ThreeVector hitpos = aStep->GetPreStepPoint()->GetPosition();
79 for(int i=0;i<nHit;i++)
80 {
81 aHit = (*fMuonCollection)[i];
82 G4ThreeVector pos = aHit->GetPos();
83 G4double dist2 = sqr(pos.x()-hitpos.x())
84 +sqr(pos.y()-hitpos.y())+sqr(pos.z()-hitpos.z());
85 if(dist2<=sqr(fPositionResolution))
86 aHit->AddEdep(edep);
87 return true;
88 }
89
90 aHit = new RE05MuonHit();
91 aHit->SetEdep( edep );
92 aHit->SetPos( aStep->GetPreStepPoint()->GetPosition() );
93 fMuonCollection->insert( aHit );
94
95 return true;
96}
G4ThreeVector GetPos()
void SetPos(G4ThreeVector xyz)
void AddEdep(G4double de)
void SetEdep(G4double de)

◆ EndOfEvent()

void RE05MuonSD::EndOfEvent ( G4HCofThisEvent HCE)
virtual

Definition at line 100 of file RE05MuonSD.cc.

101{}

◆ clear()

void RE05MuonSD::clear ( )
virtual

Definition at line 105 of file RE05MuonSD.cc.

106{}

◆ DrawAll()

void RE05MuonSD::DrawAll ( )
virtual

Definition at line 110 of file RE05MuonSD.cc.

111{}

◆ PrintAll()

void RE05MuonSD::PrintAll ( )
virtual

Definition at line 115 of file RE05MuonSD.cc.

116{}

Member Data Documentation

◆ fMuonCollection

RE05MuonHitsCollection* RE05MuonSD::fMuonCollection
private

Definition at line 55 of file RE05MuonSD.hh.

◆ fPositionResolution

G4double RE05MuonSD::fPositionResolution
private

Definition at line 56 of file RE05MuonSD.hh.


The documentation for this class was generated from the following files:

Applications | User Support | Publications | Collaboration