44 nucleusMaterial1 = nucleus1;
45 cytoplasmMaterial1 = cytoplasm1;
46 nucleusMaterial2 = nucleus2;
47 cytoplasmMaterial2 = cytoplasm2;
48 nucleusMaterial3 = nucleus3;
49 cytoplasmMaterial3 = cytoplasm3;
51 NoCellBoxes = NoBoxes;
52 DimCellBoxX = DimBoxX;
53 DimCellBoxY = DimBoxY;
54 DimCellBoxZ = DimBoxZ;
58 mass =
new G4float[NoCellBoxes];
61 G4int shiftX, shiftY, shiftZ;
67 fMap = fopen(
"phantom.dat",
"r");
70 if (nlines >= 0 && nlines <=1 ) ncols = fscanf(fMap,
"%f %f %f",&tmp,&tmp,&sizeZ);
71 if (nlines == 2) ncols = fscanf(fMap,
"%i %i %i",&shiftX,&shiftY,&shiftZ);
72 if (nlines == 3) ncols = fscanf(fMap,
"%f %f %f",&tmp,&tmp,&tmp);
73 if (nlines == 4) ncols = fscanf(fMap,
"%f %f %f",&tmp,&tmp,&tmp);
74 if (nlines > 4) ncols = fscanf(fMap,
"%f %f %f %f %f %f",&x,&y,&z,&mat,&den,&tmp);
93 nucleusAttributes1->SetForceSolid(
false);
97 nucleusAttributes2->SetForceSolid(
false);
101 nucleusAttributes3->SetForceSolid(
false);
106 cytoplasmAttributes1->SetForceSolid(
false);
110 cytoplasmAttributes2->SetForceSolid(
false);
114 cytoplasmAttributes3->SetForceSolid(
false);
133 mapCell[copyNo].
x()*DimCellBoxX*2,
134 mapCell[copyNo].
y()*DimCellBoxY*2,
135 mapCell[copyNo].
z()*DimCellBoxZ*2);
154 if( material[copyNo] == 2 )
156 if( mass[copyNo] == 1 )
158 physVol->
SetName(
"physicalNucleus");
160 return nucleusMaterial1;
162 if( mass[copyNo] == 2 )
164 physVol->
SetName(
"physicalNucleus");
166 return nucleusMaterial2;
168 if( mass[copyNo] == 3 )
170 physVol->
SetName(
"physicalNucleus");
172 return nucleusMaterial3;
176 else if( material[copyNo] == 1 )
178 if( mass[copyNo] == 1 )
180 physVol->
SetName(
"physicalCytoplasm");
182 return cytoplasmMaterial1;
184 if( mass[copyNo] == 2 )
186 physVol->
SetName(
"physicalNucleus");
188 return cytoplasmMaterial2;
190 if( mass[copyNo] == 3 )
192 physVol->
SetName(
"physicalCytoplasm");
194 return cytoplasmMaterial3;