50 axis0min, axis1min, axis0max, axis1max)
54 G4Exception(
"G4TwistTubsFlatSide::G4TwistTubsFlatSide()",
56 "Should swap axis0 and axis1!");
81 G4int i = (handedness < 0 ? 0 : 1);
95 fSurfaceArea = 0.5*DPhi * (EndOuterRadius[i]*EndOuterRadius[i]
96 - EndInnerRadius[i]*EndInnerRadius[i] ) ;
156 for (
G4int i=0; i<2; ++i)
173 if (std::fabs(p.
z()) == 0.)
209 isvalid[0], 0, validate, &gp, &gv);
213 distance[0] = - (p.
z() / v.
z());
223 if (distance[0] >= 0) isvalid[0] =
true;
231 if (distance[0] >= 0) isvalid[0] =
true;
237 if (distance[0] >= 0) isvalid[0] =
true;
241 isvalid[0], 1, validate, &gp, &gv);
244 G4cerr <<
"ERROR - G4TwistTubsFlatSide::DistanceToSurface(p,v)" <<
G4endl;
281 for (
auto i=0; i<2; ++i)
301 distance[0] = std::fabs(p.
z());
302 xx.
set(p.
x(), p.
y(), 0);
377 areacode = tmpareacode;
425 message <<
"Feature NOT implemented !" <<
G4endl
427 <<
" fAxis[1] = " <<
fAxis[1];
428 G4Exception(
"G4TwistTubsFlatSide::GetAreaCode()",
"GeomSolids0001",
472 message <<
"Feature NOT implemented !" <<
G4endl
474 <<
" fAxis[1] = " <<
fAxis[1];
475 G4Exception(
"G4TwistTubsFlatSide::SetCorners()",
"GeomSolids0001",
493 direction = direction.
unit();
499 direction = direction.
unit();
505 direction = direction.
unit();
511 direction = direction.
unit();
518 message <<
"Feature NOT implemented !" <<
G4endl
520 <<
" fAxis[1] = " <<
fAxis[1];
521 G4Exception(
"G4TwistTubsFlatSide::SetBoundaries()",
"GeomSolids0001",
541 for (
G4int i = 0 ; i<
n ; ++i )
543 r = rmin + i*(rmax-rmin)/(n-1) ;
548 for (
G4int j = 0 ; j<
k ; ++j )
550 phi = phimin + j*(phimax-
phimin)/(k-1) ;
552 nnode =
GetNode(i,j,k,n,iside) ;
555 xyz[nnode][0] = p.
x() ;
556 xyz[nnode][1] = p.
y() ;
557 xyz[nnode][2] = p.
z() ;
559 if ( i<n-1 && j<k-1 )
561 nface =
GetFace(i,j,k,n,iside) ;
566 * (
GetNode(i ,j ,k,n,iside)+1) ;
568 * (
GetNode(i ,j+1,k,n,iside)+1) ;
570 * (
GetNode(i+1,j+1,k,n,iside)+1) ;
572 * (
GetNode(i+1,j ,k,n,iside)+1) ;
577 * (
GetNode(i ,j ,k,n,iside)+1) ;
579 * (
GetNode(i+1,j ,k,n,iside)+1) ;
581 * (
GetNode(i+1,j+1,k,n,iside)+1) ;
583 * (
GetNode(i ,j+1,k,n,iside)+1) ;