#include <G4PSPassageCellFluxForCylinder3D.hh>
Inheritance diagram for G4PSPassageCellFluxForCylinder3D:
Public Member Functions | |
G4PSPassageCellFluxForCylinder3D (G4String name, G4int ni=1, G4int nj=1, G4int nk=1, G4int depi=2, G4int depj=1, G4int depk=0) | |
G4PSPassageCellFluxForCylinder3D (G4String name, const G4String &unit, G4int ni=1, G4int nj=1, G4int nk=1, G4int depi=2, G4int depj=1, G4int depk=0) | |
virtual | ~G4PSPassageCellFluxForCylinder3D () |
void | SetCylinderSize (G4double dr, G4double dz) |
void | SetNumberOfSegments (G4int nSeg[3]) |
Protected Member Functions | |
virtual G4double | ComputeVolume (G4Step *, G4int idx) |
Definition at line 51 of file G4PSPassageCellFluxForCylinder3D.hh.
G4PSPassageCellFluxForCylinder3D::G4PSPassageCellFluxForCylinder3D | ( | G4String | name, | |
G4int | ni = 1 , |
|||
G4int | nj = 1 , |
|||
G4int | nk = 1 , |
|||
G4int | depi = 2 , |
|||
G4int | depj = 1 , |
|||
G4int | depk = 0 | |||
) |
Definition at line 48 of file G4PSPassageCellFluxForCylinder3D.cc.
00051 :G4PSPassageCellFlux3D(name,ni,nj,nk,di,dj,dk) 00052 { 00053 nSegment[0] = nSegment[1] = nSegment[2] = 0; 00054 }
G4PSPassageCellFluxForCylinder3D::G4PSPassageCellFluxForCylinder3D | ( | 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 56 of file G4PSPassageCellFluxForCylinder3D.cc.
00059 :G4PSPassageCellFlux3D(name,unit,ni,nj,nk,di,dj,dk) 00060 { 00061 nSegment[0] = nSegment[1] = nSegment[2] = 0; 00062 }
G4PSPassageCellFluxForCylinder3D::~G4PSPassageCellFluxForCylinder3D | ( | ) | [virtual] |
G4double G4PSPassageCellFluxForCylinder3D::ComputeVolume | ( | G4Step * | , | |
G4int | idx | |||
) | [protected, virtual] |
Reimplemented from G4PSPassageCellFlux.
Definition at line 77 of file G4PSPassageCellFluxForCylinder3D.cc.
References G4INCL::Math::pi.
00077 { 00078 G4double r0 = (cylinderSize[2]/nSegment[2])*(idx); 00079 G4double r1 = (cylinderSize[2]/nSegment[2])*(idx+1); 00080 G4double dRArea = (r1*r1-r0*r0)*pi; 00081 00082 // cylinderSize is given in Half Size 00083 G4double fullz = cylinderSize[0]/nSegment[0]*2.; 00084 G4double phiRatio = 1./nSegment[1]; 00085 G4double v = dRArea*fullz*phiRatio; 00086 00087 return v; 00088 }
Definition at line 67 of file G4PSPassageCellFluxForCylinder3D.cc.
00067 { 00068 cylinderSize.setX(dz); //Z Phi R 00069 cylinderSize.setY(twopi); //Z Phi R 00070 cylinderSize.setZ(dr); //Z Phi R 00071 }
void G4PSPassageCellFluxForCylinder3D::SetNumberOfSegments | ( | G4int | nSeg[3] | ) |
Definition at line 72 of file G4PSPassageCellFluxForCylinder3D.cc.
00072 { 00073 nSegment[0] = nSeg[0]; // Z 00074 nSegment[1] = nSeg[1]; // Phi 00075 nSegment[2] = nSeg[2]; // R 00076 }