#include <G4PSCellFluxForCylinder3D.hh>
Inheritance diagram for G4PSCellFluxForCylinder3D:
Public Member Functions | |
G4PSCellFluxForCylinder3D (G4String name, G4int ni=1, G4int nj=1, G4int nk=1, G4int depi=2, G4int depj=1, G4int depk=0) | |
G4PSCellFluxForCylinder3D (G4String name, const G4String &unit, G4int ni=1, G4int nj=1, G4int nk=1, G4int depi=2, G4int depj=1, G4int depk=0) | |
virtual | ~G4PSCellFluxForCylinder3D () |
void | SetCylinderSize (G4double dr, G4double dz) |
void | SetNumberOfSegments (G4int nSeg[3]) |
Protected Member Functions | |
virtual G4double | ComputeVolume (G4Step *, G4int idx) |
Definition at line 54 of file G4PSCellFluxForCylinder3D.hh.
G4PSCellFluxForCylinder3D::G4PSCellFluxForCylinder3D | ( | G4String | name, | |
G4int | ni = 1 , |
|||
G4int | nj = 1 , |
|||
G4int | nk = 1 , |
|||
G4int | depi = 2 , |
|||
G4int | depj = 1 , |
|||
G4int | depk = 0 | |||
) |
Definition at line 53 of file G4PSCellFluxForCylinder3D.cc.
00056 :G4PSCellFlux3D(name,ni,nj,nk,depi,depj,depk) 00057 { 00058 nSegment[0] = nSegment[1] = nSegment[2] = 0; 00059 }
G4PSCellFluxForCylinder3D::G4PSCellFluxForCylinder3D | ( | 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 61 of file G4PSCellFluxForCylinder3D.cc.
00064 :G4PSCellFlux3D(name,unit,ni,nj,nk,depi,depj,depk) 00065 { 00066 nSegment[0] = nSegment[1] = nSegment[2] = 0; 00067 }
G4PSCellFluxForCylinder3D::~G4PSCellFluxForCylinder3D | ( | ) | [virtual] |
Reimplemented from G4PSCellFlux.
Definition at line 83 of file G4PSCellFluxForCylinder3D.cc.
References G4cout, G4endl, G4INCL::Math::pi, and G4VPrimitiveScorer::verboseLevel.
00083 { 00084 G4double r0 = (cylinderSize[2]/nSegment[2])*(idx); 00085 G4double r1 = (cylinderSize[2]/nSegment[2])*(idx+1); 00086 G4double dRArea = (r1*r1-r0*r0)*pi; 00087 00088 // cylinderSize is given in Half Size 00089 G4double fullz = cylinderSize[0]/nSegment[0]*2.; 00090 G4double phiRatio = 1./nSegment[1]; 00091 G4double v = dRArea*fullz*phiRatio; 00092 00093 if ( verboseLevel > 9 ){ 00094 G4cout << " r0= " <<r0/cm <<" r1= " << r1/cm<<" fullz="<<fullz/cm<<G4endl; 00095 G4cout << " idx= " <<idx <<" v(cm3)= " << v/cm3<<G4endl; 00096 } 00097 00098 return v; 00099 }
Definition at line 72 of file G4PSCellFluxForCylinder3D.cc.
00072 { 00073 cylinderSize.setX(dz); //Z Phi R 00074 cylinderSize.setY(twopi); //Z Phi R 00075 cylinderSize.setZ(dr); //Z Phi R 00076 }
void G4PSCellFluxForCylinder3D::SetNumberOfSegments | ( | G4int | nSeg[3] | ) |
Definition at line 77 of file G4PSCellFluxForCylinder3D.cc.
00077 { 00078 nSegment[0] = nSeg[0]; // Z 00079 nSegment[1] = nSeg[1]; // Phi 00080 nSegment[2] = nSeg[2]; // R 00081 }