42 particle_definition = 0;
43 particle_energy = 1.0*CLHEP::GeV;
45 particle_polarization = zero;
76 G4int iRow = evId / nColumn;
77 G4int iColumn = evId % nColumn;
82 { rayDirection =
G4ThreeVector(-std::tan(angleX)/std::cos(angleY),std::tan(angleY)/std::cos(angleX),1.0); }
84 { rayDirection =
G4ThreeVector(-std::tan(angleX),std::tan(angleY),1.0); }
89 G4double gam = std::atan2(ct*cp*up.
x()+ct*sp*up.
y()-st*up.
z(), -sp*up.
x()+cp*up.
y());
91 rayDirection.
rotateZ(headAngle);
98 DistanceToIn(rayPosition,rayDirection);
99 if(outsideDistance != kInfinity)
100 { rayPosition = rayPosition + (outsideDistance+0.001)*rayDirection; }
119 particle_polarization.
y(),
120 particle_polarization.
z());
129 particle_definition = particleTable->
FindParticle(
"geantino");
130 if(!particle_definition)
133 msg =
" G4RayTracer uses geantino to trace the ray, but your physics list does not\n";
134 msg +=
"define G4Geantino. Please add G4Geantino in your physics list.";
144 stepAngle = viewSpan/100.;
145 viewSpanX = stepAngle*nColumn;
146 viewSpanY = stepAngle*nRow;
150 GetNavigatorForTracking()->GetWorldVolume();
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
CLHEP::Hep3Vector G4ThreeVector
Hep3Vector & rotateZ(double)
Hep3Vector & rotateUz(const Hep3Vector &)
void AddPrimaryVertex(G4PrimaryVertex *aPrimaryVertex)
G4VSolid * GetSolid() const
G4double GetPDGMass() const
G4ParticleDefinition * FindParticle(G4int PDGEncoding)
static G4ParticleTable * GetParticleTable()
void SetPolarization(const G4ThreeVector &pol)
void SetKineticEnergy(G4double eKin)
void SetMomentumDirection(const G4ThreeVector &p)
void SetMass(G4double mas)
void SetPrimary(G4PrimaryParticle *pp)
virtual void GeneratePrimaries(G4Event *anEvent)
virtual ~G4RTPrimaryGeneratorAction()
G4RTPrimaryGeneratorAction()
G4ThreeVector eyeDirection
G4ThreeVector eyePosition
static G4TransportationManager * GetTransportationManager()
G4LogicalVolume * GetLogicalVolume() const
virtual EInside Inside(const G4ThreeVector &p) const =0