#include <G4PSDoseDeposit3D.hh>
Inheritance diagram for G4PSDoseDeposit3D:
Public Member Functions | |
G4PSDoseDeposit3D (G4String name, G4int ni=1, G4int nj=1, G4int nk=1, G4int depi=2, G4int depj=1, G4int depk=0) | |
G4PSDoseDeposit3D (G4String name, const G4String &unit, G4int ni=1, G4int nj=1, G4int nk=1, G4int depi=2, G4int depj=1, G4int depk=0) | |
virtual | ~G4PSDoseDeposit3D () |
Protected Member Functions | |
virtual G4int | GetIndex (G4Step *) |
Definition at line 44 of file G4PSDoseDeposit3D.hh.
G4PSDoseDeposit3D::G4PSDoseDeposit3D | ( | G4String | name, | |
G4int | ni = 1 , |
|||
G4int | nj = 1 , |
|||
G4int | nk = 1 , |
|||
G4int | depi = 2 , |
|||
G4int | depj = 1 , |
|||
G4int | depk = 0 | |||
) |
Definition at line 41 of file G4PSDoseDeposit3D.cc.
References G4VPrimitiveScorer::fNi, G4VPrimitiveScorer::fNj, and G4VPrimitiveScorer::fNk.
00044 :G4PSDoseDeposit(name), 00045 fDepthi(di),fDepthj(dj),fDepthk(dk) 00046 { 00047 fNi=ni; 00048 fNj=nj; 00049 fNk=nk; 00050 }
G4PSDoseDeposit3D::G4PSDoseDeposit3D | ( | G4String | name, | |
const G4String & | unit, | |||
G4int | ni = 1 , |
|||
G4int | nj = 1 , |
|||
G4int | nk = 1 , |
|||
G4int | depi = 2 , |
|||
G4int | depj = 1 , |
|||
G4int | depk = 0 | |||
) |
Definition at line 52 of file G4PSDoseDeposit3D.cc.
References G4VPrimitiveScorer::fNi, G4VPrimitiveScorer::fNj, G4VPrimitiveScorer::fNk, and G4PSDoseDeposit::SetUnit().
00056 :G4PSDoseDeposit(name), 00057 fDepthi(di),fDepthj(dj),fDepthk(dk) 00058 { 00059 fNi=ni; 00060 fNj=nj; 00061 fNk=nk; 00062 SetUnit(unit); 00063 }
G4PSDoseDeposit3D::~G4PSDoseDeposit3D | ( | ) | [virtual] |
Reimplemented from G4VPrimitiveScorer.
Definition at line 68 of file G4PSDoseDeposit3D.cc.
References G4VPrimitiveScorer::fNj, G4VPrimitiveScorer::fNk, G4endl, G4Exception(), G4VPhysicalVolume::GetName(), G4Step::GetPreStepPoint(), G4VTouchable::GetReplicaNumber(), G4StepPoint::GetTouchable(), G4VTouchable::GetVolume(), and JustWarning.
00069 { 00070 const G4VTouchable* touchable = aStep->GetPreStepPoint()->GetTouchable(); 00071 G4int i = touchable->GetReplicaNumber(fDepthi); 00072 G4int j = touchable->GetReplicaNumber(fDepthj); 00073 G4int k = touchable->GetReplicaNumber(fDepthk); 00074 00075 if(i<0||j<0||k<0) 00076 { 00077 G4ExceptionDescription ED; 00078 ED << "GetReplicaNumber is negative" << G4endl 00079 << "touchable->GetReplicaNumber(fDepthi) returns i,j,k = " 00080 << i << "," << j << "," << k << " for volume " 00081 << touchable->GetVolume(fDepthi)->GetName() << "," 00082 << touchable->GetVolume(fDepthj)->GetName() << "," 00083 << touchable->GetVolume(fDepthk)->GetName() << G4endl; 00084 G4Exception("G4PSDoseDeposit3D::GetIndex","DetPS0005",JustWarning,ED); 00085 } 00086 00087 return i*fNj*fNk+j*fNk+k; 00088 }