38 using namespace CLHEP;
54 fieldShape(MedicalBeam::SQUARE),
76 dr= std::sqrt(
sqr(fieldXY[0]/2.)+
sqr(fieldXY[1]/2.));
91 xmax= fieldXY[0]/2./SSD;
92 ymax= fieldXY[1]/2./SSD;
97 while(! (std::abs(x)< xmax && std::abs(y)< ymax) ) {
99 dsin= std::sqrt(1.-
sqr(dcos));
102 x= std::cos(dphi)*dsin*dcos;
103 y= std::sin(dphi)*dsin*dcos;
115 if(particle==0)
return;
121 G4double mass= particle-> GetPDGMass();
129 vertex-> SetPrimary(primary);
132 anEvent-> AddPrimaryVertex(vertex);
virtual void GeneratePrimaries(G4Event *anEvent)
ThreeVector shoot(const G4int Ap, const G4int Af)
CLHEP::Hep3Vector G4ThreeVector
G4ThreeVector GenerateBeamDirection() const