Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions
RMC01SD Class Reference

#include <RMC01SD.hh>

Inheritance diagram for RMC01SD:
G4VSensitiveDetector

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 ()
 
const 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
 

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

Definition at line 67 of file RMC01SD.cc.

References G4VSensitiveDetector::collectionName, and G4CollectionNameVector::insert().

69  fTotalEventEdep(0.),fEventEdepCollection(0),
70  fProtonCurrentCollection(0),fGammaCurrentCollection(0),
71  fElectronCurrentCollection(0)
72 {
73  collectionName.insert("edep");
74  collectionName.insert("current_electron");
75  collectionName.insert("current_proton");
76  collectionName.insert("current_gamma");
77 }
G4VSensitiveDetector(G4String name)
G4CollectionNameVector collectionName
RMC01SD::~RMC01SD ( )
virtual

Definition at line 81 of file RMC01SD.cc.

82 {;
83 }

Member Function Documentation

void RMC01SD::Clear ( )
virtual

Definition at line 149 of file RMC01SD.cc.

150 {;
151 }
void RMC01SD::DrawAll ( void  )
virtual

Reimplemented from G4VSensitiveDetector.

Definition at line 155 of file RMC01SD.cc.

156 {;
157 }
void RMC01SD::EndOfEvent ( G4HCofThisEvent HCE)
virtual

Reimplemented from G4VSensitiveDetector.

Definition at line 141 of file RMC01SD.cc.

References G4THitsCollection< T >::insert().

142 {
143  fEventEdepCollection->insert(
144  new RMC01DoubleWithWeightHit(fTotalEventEdep,1.));
145 }
void RMC01SD::Initialize ( G4HCofThisEvent HCE)
virtual

Reimplemented from G4VSensitiveDetector.

Definition at line 87 of file RMC01SD.cc.

References G4HCofThisEvent::AddHitsCollection(), G4VSensitiveDetector::collectionName, G4VSensitiveDetector::GetCollectionID(), and G4VSensitiveDetector::SensitiveDetectorName.

88 {
89  fTotalEventEdep=0.;
90  static G4int HCID = -1;
91 
92  fEventEdepCollection = new G4THitsCollection<RMC01DoubleWithWeightHit>
94  HCID = GetCollectionID(0);
95  HCE->AddHitsCollection(HCID,fEventEdepCollection);
96 
97  fElectronCurrentCollection = new G4THitsCollection<RMC01DoubleWithWeightHit>
99  HCID = GetCollectionID(1);
100  HCE->AddHitsCollection(HCID,fElectronCurrentCollection);
101 
102  fProtonCurrentCollection = new G4THitsCollection<RMC01DoubleWithWeightHit>
104  HCID = GetCollectionID(2);
105  HCE->AddHitsCollection(HCID,fProtonCurrentCollection);
106 
107  fGammaCurrentCollection = new G4THitsCollection<RMC01DoubleWithWeightHit>
109  HCID = GetCollectionID(3);
110  HCE->AddHitsCollection(HCID,fGammaCurrentCollection);
111 }
int G4int
Definition: G4Types.hh:78
virtual G4int GetCollectionID(G4int i)
void AddHitsCollection(G4int HCID, G4VHitsCollection *aHC)
G4CollectionNameVector collectionName
void RMC01SD::PrintAll ( void  )
virtual

Reimplemented from G4VSensitiveDetector.

Definition at line 161 of file RMC01SD.cc.

162 {;
163 }
G4bool RMC01SD::ProcessHits ( G4Step aStep,
G4TouchableHistory ROhist 
)
virtual

Implements G4VSensitiveDetector.

Definition at line 115 of file RMC01SD.cc.

References G4Electron::Electron(), fGeomBoundary, G4Gamma::Gamma(), G4Track::GetDefinition(), G4StepPoint::GetKineticEnergy(), G4Step::GetPreStepPoint(), G4StepPoint::GetStepStatus(), G4Step::GetTotalEnergyDeposit(), G4Step::GetTrack(), G4StepPoint::GetWeight(), G4Track::GetWeight(), G4THitsCollection< T >::insert(), and G4Proton::Proton().

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 }
G4ParticleDefinition * GetDefinition() const
G4double GetWeight() const
G4StepStatus GetStepStatus() const
G4StepPoint * GetPreStepPoint() const
static G4Proton * Proton()
Definition: G4Proton.cc:93
static G4Gamma * Gamma()
Definition: G4Gamma.cc:86
G4double GetTotalEnergyDeposit() const
G4double GetWeight() const
static G4Electron * Electron()
Definition: G4Electron.cc:94
G4double GetKineticEnergy() const
double G4double
Definition: G4Types.hh:76
G4Track * GetTrack() const

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