85 { rayDirection =
G4ThreeVector(-std::tan(angleX)/std::cos(angleY),std::tan(angleY)/std::cos(angleX),1.0); }
87 { rayDirection =
G4ThreeVector(-std::tan(angleX),std::tan(angleY),1.0); }
101 DistanceToIn(rayPosition,rayDirection);
103 { rayPosition = rayPosition + (outsideDistance+0.001)*rayDirection; }
136 msg =
" G4RayTracer uses geantino to trace the ray, but your physics list does not\n";
137 msg +=
"define G4Geantino. Please add G4Geantino in your physics list.";
153 GetNavigatorForTracking()->GetWorldVolume();
G4ParticleDefinition * FindParticle(G4int PDGEncoding)
G4ParticleDefinition * particle_definition
G4ThreeVector eyePosition
CLHEP::Hep3Vector G4ThreeVector
G4LogicalVolume * GetLogicalVolume() const
static const G4double kInfinity
static G4ParticleTable * GetParticleTable()
virtual void GeneratePrimaries(G4Event *anEvent)
Hep3Vector & rotateUz(const Hep3Vector &)
void SetKineticEnergy(G4double eKin)
G4double GetPDGMass() const
virtual EInside Inside(const G4ThreeVector &p) const =0
G4ThreeVector eyeDirection
virtual ~G4RTPrimaryGeneratorAction()
void SetPolarization(const G4ThreeVector &pol)
static G4TheMTRayTracer * theInstance
void SetPrimary(G4PrimaryParticle *pp)
G4ThreeVector particle_polarization
G4ThreeVector eyeDirection
Hep3Vector & rotateZ(double)
static G4TransportationManager * GetTransportationManager()
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
void SetMomentumDirection(const G4ThreeVector &p)
G4VSolid * GetSolid() const
void AddPrimaryVertex(G4PrimaryVertex *aPrimaryVertex)
G4ThreeVector eyePosition
G4RTPrimaryGeneratorAction()
static constexpr double GeV
G4VPhysicalVolume * pWorld
void SetMass(G4double mas)