Geant4  10.02.p03
RMC01SD Class Reference

#include <RMC01SD.hh>

Inheritance diagram for RMC01SD:
Collaboration diagram for RMC01SD:

Public Member Functions

 RMC01SD (G4String name)
 
virtual ~RMC01SD ()
 
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 ()
 
- Public Member Functions inherited from G4VSensitiveDetector
 G4VSensitiveDetector (G4String name)
 
 G4VSensitiveDetector (const G4VSensitiveDetector &right)
 
virtual ~G4VSensitiveDetector ()
 
G4VSensitiveDetectoroperator= (const G4VSensitiveDetector &right)
 
G4int operator== (const G4VSensitiveDetector &right) const
 
G4int operator!= (const G4VSensitiveDetector &right) const
 
virtual void clear ()
 
G4bool Hit (G4Step *aStep)
 
void SetROgeometry (G4VReadOutGeometry *value)
 
void SetFilter (G4VSDFilter *value)
 
G4int GetNumberOfCollections () const
 
G4String GetCollectionName (G4int id) const
 
void SetVerboseLevel (G4int vl)
 
void Activate (G4bool activeFlag)
 
G4bool isActive () const
 
G4String GetName () const
 
G4String GetPathName () const
 
G4String GetFullPathName () const
 
G4VReadOutGeometryGetROgeometry () const
 
G4VSDFilterGetFilter () const
 
virtual G4VSensitiveDetectorClone () const
 

Private Attributes

G4double fTotalEventEdep
 
RMC01DoubleWithWeightHitsCollectionfEventEdepCollection
 
RMC01DoubleWithWeightHitsCollectionfProtonCurrentCollection
 
RMC01DoubleWithWeightHitsCollectionfGammaCurrentCollection
 
RMC01DoubleWithWeightHitsCollectionfElectronCurrentCollection
 

Additional Inherited Members

- Protected Member Functions inherited from G4VSensitiveDetector
virtual G4int GetCollectionID (G4int i)
 
- Protected Attributes inherited from G4VSensitiveDetector
G4CollectionNameVector collectionName
 
G4String SensitiveDetectorName
 
G4String thePathName
 
G4String fullPathName
 
G4int verboseLevel
 
G4bool active
 
G4VReadOutGeometryROgeometry
 
G4VSDFilterfilter
 

Detailed Description

Definition at line 66 of file RMC01SD.hh.

Constructor & Destructor Documentation

◆ RMC01SD()

RMC01SD::RMC01SD ( G4String  name)

Definition at line 67 of file RMC01SD.cc.

72 {
73  collectionName.insert("edep");
74  collectionName.insert("current_electron");
75  collectionName.insert("current_proton");
76  collectionName.insert("current_gamma");
77 }
RMC01DoubleWithWeightHitsCollection * fElectronCurrentCollection
Definition: RMC01SD.hh:83
G4double fTotalEventEdep
Definition: RMC01SD.hh:79
RMC01DoubleWithWeightHitsCollection * fEventEdepCollection
Definition: RMC01SD.hh:80
RMC01DoubleWithWeightHitsCollection * fProtonCurrentCollection
Definition: RMC01SD.hh:81
G4VSensitiveDetector(G4String name)
G4CollectionNameVector collectionName
RMC01DoubleWithWeightHitsCollection * fGammaCurrentCollection
Definition: RMC01SD.hh:82
Here is the call graph for this function:

◆ ~RMC01SD()

RMC01SD::~RMC01SD ( )
virtual

Definition at line 81 of file RMC01SD.cc.

82 {;
83 }

Member Function Documentation

◆ Clear()

void RMC01SD::Clear ( )
virtual

Definition at line 149 of file RMC01SD.cc.

150 {;
151 }

◆ DrawAll()

void RMC01SD::DrawAll ( void  )
virtual

Reimplemented from G4VSensitiveDetector.

Definition at line 155 of file RMC01SD.cc.

156 {;
157 }

◆ EndOfEvent()

void RMC01SD::EndOfEvent ( G4HCofThisEvent HCE)
virtual

Reimplemented from G4VSensitiveDetector.

Definition at line 141 of file RMC01SD.cc.

Here is the call graph for this function:

◆ Initialize()

void RMC01SD::Initialize ( G4HCofThisEvent HCE)
virtual

Reimplemented from G4VSensitiveDetector.

Definition at line 87 of file RMC01SD.cc.

88 {
89  fTotalEventEdep=0.;
90  static G4int HCID = -1;
91 
94  HCID = GetCollectionID(0);
96 
99  HCID = GetCollectionID(1);
101 
104  HCID = GetCollectionID(2);
106 
109  HCID = GetCollectionID(3);
111 }
RMC01DoubleWithWeightHitsCollection * fElectronCurrentCollection
Definition: RMC01SD.hh:83
int G4int
Definition: G4Types.hh:78
G4double fTotalEventEdep
Definition: RMC01SD.hh:79
virtual G4int GetCollectionID(G4int i)
RMC01DoubleWithWeightHitsCollection * fEventEdepCollection
Definition: RMC01SD.hh:80
RMC01DoubleWithWeightHitsCollection * fProtonCurrentCollection
Definition: RMC01SD.hh:81
void AddHitsCollection(G4int HCID, G4VHitsCollection *aHC)
G4CollectionNameVector collectionName
RMC01DoubleWithWeightHitsCollection * fGammaCurrentCollection
Definition: RMC01SD.hh:82
Here is the call graph for this function:

◆ PrintAll()

void RMC01SD::PrintAll ( void  )
virtual

Reimplemented from G4VSensitiveDetector.

Definition at line 161 of file RMC01SD.cc.

162 {;
163 }

◆ ProcessHits()

G4bool RMC01SD::ProcessHits ( G4Step *  aStep,
G4TouchableHistory ROhist 
)
virtual

Implements G4VSensitiveDetector.

Definition at line 115 of file RMC01SD.cc.

116 {
117  G4double weight =aStep->GetTrack()->GetWeight();
118  G4double edep= aStep->GetTotalEnergyDeposit();
119  if (edep >0) fEventEdepCollection->insert(
120  new RMC01DoubleWithWeightHit(edep,weight));
121 
122  G4StepPoint* preStepPoint =aStep->GetPreStepPoint();
123 
124  if (preStepPoint->GetStepStatus() == fGeomBoundary ){
125  // Entering the sensitive volume
126  weight=preStepPoint->GetWeight();
127  G4double eKin = preStepPoint->GetKineticEnergy();
128  G4ParticleDefinition* thePartDef = aStep->GetTrack()->GetDefinition();
129  if (thePartDef == G4Electron::Electron()) fElectronCurrentCollection->
130  insert(new RMC01DoubleWithWeightHit(eKin,weight));
131  else if (thePartDef == G4Gamma::Gamma()) fGammaCurrentCollection->
132  insert(new RMC01DoubleWithWeightHit(eKin,weight));
133  else if (thePartDef == G4Proton::Proton()) fProtonCurrentCollection->
134  insert(new RMC01DoubleWithWeightHit(eKin,weight));
135  }
136  return true;
137 }
RMC01DoubleWithWeightHitsCollection * fElectronCurrentCollection
Definition: RMC01SD.hh:83
double weight
Definition: plottest35.C:25
Double_t edep
RMC01DoubleWithWeightHitsCollection * fEventEdepCollection
Definition: RMC01SD.hh:80
static G4Proton * Proton()
Definition: G4Proton.cc:93
RMC01DoubleWithWeightHitsCollection * fProtonCurrentCollection
Definition: RMC01SD.hh:81
static G4Gamma * Gamma()
Definition: G4Gamma.cc:86
static G4Electron * Electron()
Definition: G4Electron.cc:94
RMC01DoubleWithWeightHitsCollection * fGammaCurrentCollection
Definition: RMC01SD.hh:82
double G4double
Definition: G4Types.hh:76
Here is the call graph for this function:

Member Data Documentation

◆ fElectronCurrentCollection

RMC01DoubleWithWeightHitsCollection* RMC01SD::fElectronCurrentCollection
private

Definition at line 83 of file RMC01SD.hh.

◆ fEventEdepCollection

RMC01DoubleWithWeightHitsCollection* RMC01SD::fEventEdepCollection
private

Definition at line 80 of file RMC01SD.hh.

◆ fGammaCurrentCollection

RMC01DoubleWithWeightHitsCollection* RMC01SD::fGammaCurrentCollection
private

Definition at line 82 of file RMC01SD.hh.

◆ fProtonCurrentCollection

RMC01DoubleWithWeightHitsCollection* RMC01SD::fProtonCurrentCollection
private

Definition at line 81 of file RMC01SD.hh.

◆ fTotalEventEdep

G4double RMC01SD::fTotalEventEdep
private

Definition at line 79 of file RMC01SD.hh.


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