45 #ifndef G4RANDOMTOOLS_HH
46 #define G4RANDOMTOOLS_HH
64 const G4int max_trials = 1024;
70 ndotv = normal * vect;
95 return cosphi * vec1 + sinphi * vec2;
108 return (rmin <= 0) ? rmax*std::sqrt(k)
109 : std::sqrt(k*rmax*rmax + (1.-k)*rmin*rmin);
118 G4double aa = (a*a == 0) ? 0 : 1/(a*a);
120 for (
G4int i=0; i<1000; ++i)
140 for (
G4int i=0; i<1000; ++i)
145 G4double mu = std::sqrt((B*x)*(B*x) + (A*y)*(A*y));
164 for (
G4int i=0; i<1000; ++i)
170 G4double mu = std::sqrt(xbc*xbc + yac*yac + zab*zab);
T max(const T t1, const T t2)
brief Return the largest of the two arguments
CLHEP::Hep3Vector G4ThreeVector
std::vector< ExP01TrackerHit * > a
CLHEP::Hep2Vector G4TwoVector
static double normal(HepRandomEngine *eptr)
G4ThreeVector G4RandomDirection()
double A(double temperature)
Hep3Vector cross(const Hep3Vector &) const
static constexpr double twopi
Hep3Vector orthogonal() const
double B(double temperature)