247 std::vector<std::vector<std::vector<double> > > cell;
248 std::vector<double> ez;
249 for(
int z = 0; z <
fNSegment[2]; z++) ez.push_back(0.);
250 std::vector<std::vector<double> > eyz;
251 for(
int y = 0; y < fNSegment[1]; y++) eyz.push_back(ez);
252 for(
int x = 0; x < fNSegment[0]; x++) cell.push_back(eyz);
254 std::vector<std::vector<double> > xycell;
255 std::vector<double> ey;
256 for(
int y = 0; y < fNSegment[1]; y++) ey.push_back(0.);
257 for(
int x = 0; x < fNSegment[0]; x++) xycell.push_back(ey);
259 std::vector<std::vector<double> > yzcell;
260 for(
int y = 0; y < fNSegment[1]; y++) yzcell.push_back(ez);
262 std::vector<std::vector<double> > xzcell;
263 for(
int x = 0; x < fNSegment[0]; x++) xzcell.push_back(ez);
267 std::map<G4int, G4StatDouble*>::iterator itr = map->
GetMap()->begin();
268 for(; itr != map->
GetMap()->end(); itr++) {
269 GetXYZ(itr->first, q);
278 G4double xymax = 0., yzmax = 0., xzmax = 0.;
279 for(
int x = 0; x < fNSegment[0]; x++) {
280 for(
int y = 0; y < fNSegment[1]; y++) {
281 if(xymin > xycell[x][y]) xymin = xycell[x][y];
282 if(xymax < xycell[x][y]) xymax = xycell[x][y];
284 for(
int z = 0; z < fNSegment[2]; z++) {
285 if(xzmin > xzcell[x][z]) xzmin = xzcell[x][z];
286 if(xzmax < xzcell[x][z]) xzmax = xzcell[x][z];
289 for(
int y = 0; y < fNSegment[1]; y++) {
290 for(
int z = 0; z < fNSegment[2]; z++) {
291 if(yzmin > yzcell[y][z]) yzmin = yzcell[y][z];
292 if(yzmax < yzcell[y][z]) yzmax = yzcell[y][z];
309 for(
int x = 0; x < fNSegment[0]; x++) {
310 for(
int y = 0; y < fNSegment[1]; y++) {
313 G4ThreeVector pos2(GetReplicaPosition(x, y, fNSegment[2]-1) + zhalf);
333 pVisManager->
Draw(*poly);
335 G4Box xyplate2 = xyplate;
339 pVisManager->
Draw(*poly2);
372 for(
int y = 0; y < fNSegment[1]; y++) {
373 for(
int z = 0; z < fNSegment[2]; z++) {
376 G4ThreeVector pos2(GetReplicaPosition(fNSegment[0]-1, y, z) + xhalf);
391 G4Box yzplate(
"yz", thick,
392 fSize[1]/fNSegment[1],
393 fSize[2]/fNSegment[2]);
397 pVisManager->
Draw(*poly);
399 G4Box yzplate2 = yzplate;
403 pVisManager->
Draw(*poly2);
436 for(
int x = 0; x < fNSegment[0]; x++) {
437 for(
int z = 0; z < fNSegment[2]; z++) {
440 G4ThreeVector pos2(GetReplicaPosition(x, fNSegment[1]-1, z) + yhalf);
455 G4Box xzplate(
"xz",
fSize[0]/fNSegment[0], thick,
456 fSize[2]/fNSegment[2]);
460 pVisManager->
Draw(*poly);
462 G4Box xzplate2 = xzplate;
466 pVisManager->
Draw(*poly2);
virtual void Draw(const G4Circle &, const G4Transform3D &objectTransformation=G4Transform3D())=0
void SetColour(const G4Colour &)
void SetPSName(G4String &psName)
G4ThreeVector fCenterPosition
static G4VVisManager * GetConcreteInstance()
void SetPSUnit(G4String &unit)
virtual void GetMapColor(G4double val, G4double color[4])=0
HepPolyhedron & Transform(const G4Transform3D &t)
void SetForceSolid(G4bool=true)
void SetMinMax(G4double minVal, G4double maxVal)
G4RotationMatrix * fRotationMatrix
virtual G4Polyhedron * GetPolyhedron() const
virtual void BeginDraw(const G4Transform3D &objectTransformation=G4Transform3D())=0
void SetVisAttributes(const G4VisAttributes *)
std::map< G4int, T * > * GetMap() const
G4bool IfFloatMinMax() const
void SetForceAuxEdgeVisible(G4bool=true)
static const G4double pos
virtual void DrawColorChart(G4int nPoint=5)