47#ifndef __G4TWISTTUBSFLATSIDE__
48#define __G4TWISTTUBSFLATSIDE__
92 G4bool isGlobal =
false ) ;
115 virtual void SetCorners();
116 virtual void SetBoundaries();
123 G4ThreeVector SurfPoint (rho*std::cos(phi) , rho*std::sin(phi) , 0);
125 if (isGlobal) {
return (
fRot * SurfPoint +
fTrans); }
133 return std::atan2( dphimin.
y(), dphimin.
x() );
140 return std::atan2( dphimax.
y(), dphimax.
x() );
virtual void GetFacets(G4int m, G4int n, G4double xyz[][3], G4int faces[][4], G4int iside)
virtual G4int DistanceToSurface(const G4ThreeVector &gp, const G4ThreeVector &gv, G4ThreeVector gxx[], G4double distance[], G4int areacode[], G4bool isvalid[], EValidate validate=kValidateWithTol)
virtual ~G4TwistTubsFlatSide()
virtual G4double GetBoundaryMin(G4double phi)
virtual G4int GetAreaCode(const G4ThreeVector &xx, G4bool withTol=true)
virtual G4ThreeVector GetNormal(const G4ThreeVector &, G4bool isGlobal=false)
virtual G4double GetBoundaryMax(G4double phi)
virtual G4ThreeVector SurfacePoint(G4double, G4double, G4bool isGlobal=false)
virtual G4double GetSurfaceArea()
static const G4int sC0Max1Max
G4ThreeVector GetCorner(G4int areacode) const
static const G4int sC0Max1Min