36#ifndef G4TWISTTUBSFLATSIDE_HH
37#define G4TWISTTUBSFLATSIDE_HH
104 G4bool isGlobal =
false)
override;
136 G4int areacode[])
override;
151 G4bool isGlobal =
false)
override;
166 G4bool withTol =
true)
override ;
171 void SetCorners()
override;
172 void SetBoundaries()
override;
186 G4ThreeVector SurfPoint (rho*std::cos(phi) , rho*std::sin(phi) , 0);
188 if (isGlobal) {
return (
fRot * SurfPoint +
fTrans); }
196 return std::atan2( dphimin.
y(), dphimin.
x() );
203 return std::atan2( dphimax.
y(), dphimax.
x() );
CLHEP::HepRotation G4RotationMatrix
CLHEP::Hep3Vector G4ThreeVector
G4int DistanceToSurface(const G4ThreeVector &gp, const G4ThreeVector &gv, G4ThreeVector gxx[], G4double distance[], G4int areacode[], G4bool isvalid[], EValidate validate=kValidateWithTol) override
G4ThreeVector GetNormal(const G4ThreeVector &, G4bool isGlobal=false) override
G4TwistTubsFlatSide(const G4String &name, const G4RotationMatrix &rot, const G4ThreeVector &tlate, const G4ThreeVector &n, const EAxis axis0=kRho, const EAxis axis1=kPhi, G4double axis0min=-kInfinity, G4double axis1min=-kInfinity, G4double axis0max=kInfinity, G4double axis1max=kInfinity)
~G4TwistTubsFlatSide() override=default
G4VTwistSurface(const G4String &name)
static const G4int sC0Max1Max
G4ThreeVector GetCorner(G4int areacode) const
static const G4int sC0Max1Min
virtual G4double GetSurfaceArea()=0