G4PSCellFluxForCylinder3D Class Reference

#include <G4PSCellFluxForCylinder3D.hh>

Inheritance diagram for G4PSCellFluxForCylinder3D:

G4PSCellFlux3D G4PSCellFlux G4VPrimitiveScorer

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)

Detailed Description

Definition at line 54 of file G4PSCellFluxForCylinder3D.hh.


Constructor & Destructor Documentation

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]

Definition at line 69 of file G4PSCellFluxForCylinder3D.cc.

00070 {;}


Member Function Documentation

G4double G4PSCellFluxForCylinder3D::ComputeVolume ( G4Step ,
G4int  idx 
) [protected, 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 }

void G4PSCellFluxForCylinder3D::SetCylinderSize ( G4double  dr,
G4double  dz 
)

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 }


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:53:01 2013 for Geant4 by  doxygen 1.4.7