34#ifndef G4TWISTTRAPFLATSIDE_HH
35#define G4TWISTTRAPFLATSIDE_HH
84 G4bool isGlobal =
false)
override;
116 G4int areacode[])
override;
131 G4bool isGlobal =
false)
override;
146 void SetCorners()
override;
147 void SetBoundaries()
override;
153 G4bool withTol =
true)
override;
177 return ( ( fDx2 + fDx1 )/2. + u*(fDx2 - fDx1)/(2.*fDy) + u *fTanAlpha ) ;
185 if (isGlobal) {
return (
fRot*SurfPoint +
fTrans); }
192 return -xAxisMax(y, -fTAlph) ;
198 return xAxisMax(y, fTAlph) ;
204 return 2*(fDx1 + fDx2)*fDy ;
CLHEP::Hep3Vector G4ThreeVector
G4ThreeVector GetNormal(const G4ThreeVector &, G4bool isGlobal=false) override
~G4TwistTrapFlatSide() override=default
G4TwistTrapFlatSide(const G4String &name, G4double PhiTwist, G4double pDx1, G4double pDx2, G4double pDy, G4double pDz, G4double pAlpha, G4double pPhi, G4double pTheta, G4int handedness)
G4int DistanceToSurface(const G4ThreeVector &gp, const G4ThreeVector &gv, G4ThreeVector gxx[], G4double distance[], G4int areacode[], G4bool isvalid[], EValidate validate=kValidateWithTol) override
G4VTwistSurface(const G4String &name)
virtual G4double GetSurfaceArea()=0