Dear Experts,
I trying to implement optical surface for some hexagonal geometry.
But border_surface does not seem to be working for this geometry, or rather,
I suspect, I am not implementing it corectly.
I decided to check my hex implementation on N06, I just added another object:
//My hex Bubble
//*************************************
#define VECSIZE 2
G4int Sides = 6;
G4double Min_Len =0.*mm;
G4double Max_Len = 15.*cm;
G4double LengthZ = 15.*cm;
G4double RMINVec[VECSIZE] = { Min_Len, Min_Len };
G4double RMAXVec[VECSIZE] = { Max_Len, Max_Len };
G4double Z_Values[VECSIZE] = { -LengthZ/2,LengthZ/2};
G4BREPSolidPolyhedra* solidConduit = new G4BREPSolidPolyhedra( "Conduit", 0., 2.*pi, Sides, VECSIZE, Z_Values[0], Z_Values, RMINVec, RMAXVec);
G4LogicalVolume* logicConduit = new G4LogicalVolume(solidConduit,Air, "Conduit",0,0,0);
G4VPhysicalVolume* physiConduit = new G4PVPlacement(0,0, logicConduit,"Conduit",waterTank_log, false,0);
//**********************************
Also, by analogy I specified optical surface:
//********************************
G4OpticalSurface* OpAirSurface2 = new G4OpticalSurface("AirSurface2");
OpAirSurface2->SetType(dielectric_dielectric);
OpAirSurface2->SetFinish(ground);
OpAirSurface2->SetModel(unified);
G4LogicalSkinSurface* AirSurface2 =
new G4LogicalSkinSurface("AirSurface2", logicConduit, OpAirSurface2);
//********************************
but it seems to be freezing into some veeery long loop :(.
I could not find any working example with reflecting /or any surface/
for polyhedra geometries. I would greatly appreciate if you could point out to my error.
Thank you very much.
Oleksiy
|