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

#include <Doxymodules_eventgenerator.h>

Inheritance diagram for ExN04MuonSD:
G4VSensitiveDetector

Public Member Functions

 ExN04MuonSD (G4String name)
 
 ~ExN04MuonSD ()
 
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

ExN04MuonHitsCollectionfMuonCollection
 
G4double fPositionResolution
 

Detailed Description

Definition at line 44 of file Doxymodules_eventgenerator.h.

Constructor & Destructor Documentation

◆ ExN04MuonSD()

ExN04MuonSD::ExN04MuonSD ( G4String  name)

Definition at line 41 of file ExN04MuonSD.cc.

42 : G4VSensitiveDetector(name),
44{
45 G4String HCname;
46 collectionName.insert(HCname="muonCollection");
47}
G4double fPositionResolution
ExN04MuonHitsCollection * fMuonCollection

◆ ~ExN04MuonSD()

ExN04MuonSD::~ExN04MuonSD ( )

Definition at line 50 of file ExN04MuonSD.cc.

50{;}

Member Function Documentation

◆ Initialize()

void ExN04MuonSD::Initialize ( G4HCofThisEvent HCE)
virtual

Definition at line 53 of file ExN04MuonSD.cc.

54{
55 static int HCID = -1;
57 (SensitiveDetectorName,collectionName[0]);
58 if(HCID<0)
59 { HCID = GetCollectionID(0); }
60 HCE->AddHitsCollection(HCID,fMuonCollection);
61}
G4THitsCollection< ExN04MuonHit > ExN04MuonHitsCollection

◆ ProcessHits()

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

Definition at line 64 of file ExN04MuonSD.cc.

65{
66 G4double edep = aStep->GetTotalEnergyDeposit();
67
68 if(edep==0.) return true;
69
70 ExN04MuonHit* aHit;
71 int nHit = fMuonCollection->entries();
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());
78 if(dist2<=sqr(fPositionResolution))
79 aHit->AddEdep(edep);
80 return true;
81 }
82
83 aHit = new ExN04MuonHit();
84 aHit->SetEdep( edep );
85 aHit->SetPos( aStep->GetPreStepPoint()->GetPosition() );
86 fMuonCollection->insert( aHit );
87
88 return true;
89}
void SetPos(G4ThreeVector xyz)
void AddEdep(G4double de)
G4ThreeVector GetPos()
void SetEdep(G4double de)

◆ EndOfEvent()

void ExN04MuonSD::EndOfEvent ( G4HCofThisEvent HCE)
virtual

Definition at line 92 of file ExN04MuonSD.cc.

93{
94}

◆ clear()

void ExN04MuonSD::clear ( )
virtual

Definition at line 97 of file ExN04MuonSD.cc.

98{
99}

◆ DrawAll()

void ExN04MuonSD::DrawAll ( )
virtual

Definition at line 102 of file ExN04MuonSD.cc.

103{
104}

◆ PrintAll()

void ExN04MuonSD::PrintAll ( )
virtual

Definition at line 107 of file ExN04MuonSD.cc.

108{
109}

Member Data Documentation

◆ fMuonCollection

ExN04MuonHitsCollection* ExN04MuonSD::fMuonCollection
private

Definition at line 54 of file ExN04MuonSD.hh.

◆ fPositionResolution

G4double ExN04MuonSD::fPositionResolution
private

Definition at line 55 of file ExN04MuonSD.hh.


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

Applications | User Support | Publications | Collaboration