167 if (atype ==
"biasx") {
171 }
else if (atype ==
"biasy") {
175 }
else if (atype ==
"biasz") {
179 }
else if (atype ==
"biast") {
183 }
else if (atype ==
"biasp") {
187 }
else if (atype ==
"biase") {
191 }
else if (atype ==
"biaspt") {
195 }
else if (atype ==
"biaspp") {
207 if (
XBias ==
false) {
215 G4double bins[1024], vals[1024], sum;
219 vals[0] =
XBiasH(
size_t(0));
221 for (ii = 1; ii < maxbin; ii++) {
223 vals[ii] =
XBiasH(
size_t(ii)) + vals[ii - 1];
224 sum = sum +
XBiasH(
size_t(ii));
227 for (ii = 0; ii < maxbin; ii++) {
228 vals[ii] = vals[ii] / sum;
243 G4int biasn2 = numberOfBin / 2;
244 G4int biasn3 = numberOfBin - 1;
245 while (biasn1 != biasn3 - 1) {
250 biasn2 = biasn1 + (biasn3 - biasn1 + 1) / 2;
269 if (
YBias ==
false) {
277 G4double bins[1024], vals[1024], sum;
281 vals[0] =
YBiasH(
size_t(0));
283 for (ii = 1; ii < maxbin; ii++) {
285 vals[ii] =
YBiasH(
size_t(ii)) + vals[ii - 1];
286 sum = sum +
YBiasH(
size_t(ii));
289 for (ii = 0; ii < maxbin; ii++) {
290 vals[ii] = vals[ii] / sum;
300 G4int biasn2 = numberOfBin / 2;
301 G4int biasn3 = numberOfBin - 1;
302 while (biasn1 != biasn3 - 1) {
307 biasn2 = biasn1 + (biasn3 - biasn1 + 1) / 2;
323 if (
ZBias ==
false) {
331 G4double bins[1024], vals[1024], sum;
335 vals[0] =
ZBiasH(
size_t(0));
337 for (ii = 1; ii < maxbin; ii++) {
339 vals[ii] =
ZBiasH(
size_t(ii)) + vals[ii - 1];
340 sum = sum +
ZBiasH(
size_t(ii));
343 for (ii = 0; ii < maxbin; ii++) {
344 vals[ii] = vals[ii] / sum;
355 G4int biasn2 = numberOfBin / 2;
356 G4int biasn3 = numberOfBin - 1;
357 while (biasn1 != biasn3 - 1) {
362 biasn2 = biasn1 + (biasn3 - biasn1 + 1) / 2;
388 G4double bins[1024], vals[1024], sum;
394 for (ii = 1; ii < maxbin; ii++) {
396 vals[ii] =
ThetaBiasH(
size_t(ii)) + vals[ii - 1];
400 for (ii = 0; ii < maxbin; ii++) {
401 vals[ii] = vals[ii] / sum;
412 G4int biasn2 = numberOfBin / 2;
413 G4int biasn3 = numberOfBin - 1;
414 while (biasn1 != biasn3 - 1) {
419 biasn2 = biasn1 + (biasn3 - biasn1 + 1) / 2;
444 G4double bins[1024], vals[1024], sum;
450 for (ii = 1; ii < maxbin; ii++) {
452 vals[ii] =
PhiBiasH(
size_t(ii)) + vals[ii - 1];
456 for (ii = 0; ii < maxbin; ii++) {
457 vals[ii] = vals[ii] / sum;
468 G4int biasn2 = numberOfBin / 2;
469 G4int biasn3 = numberOfBin - 1;
470 while (biasn1 != biasn3 - 1) {
475 biasn2 = biasn1 + (biasn3 - biasn1 + 1) / 2;
499 G4double bins[1024], vals[1024], sum;
505 for (ii = 1; ii < maxbin; ii++) {
511 for (ii = 0; ii < maxbin; ii++) {
512 vals[ii] = vals[ii] / sum;
523 G4int biasn2 = numberOfBin / 2;
524 G4int biasn3 = numberOfBin - 1;
525 while (biasn1 != biasn3 - 1) {
530 biasn2 = biasn1 + (biasn3 - biasn1 + 1) / 2;
557 G4double bins[1024], vals[1024], sum;
563 for (ii = 1; ii < maxbin; ii++) {
569 for (ii = 0; ii < maxbin; ii++) {
570 vals[ii] = vals[ii] / sum;
581 G4int biasn2 = numberOfBin / 2;
582 G4int biasn3 = numberOfBin - 1;
583 while (biasn1 != biasn3 - 1) {
588 biasn2 = biasn1 + (biasn3 - biasn1 + 1) / 2;
614 G4double bins[1024], vals[1024], sum;
620 for (ii = 1; ii < maxbin; ii++) {
626 for (ii = 0; ii < maxbin; ii++) {
627 vals[ii] = vals[ii] / sum;
638 G4int biasn2 = numberOfBin / 2;
639 G4int biasn3 = numberOfBin - 1;
640 while (biasn1 != biasn3 - 1) {
645 biasn2 = biasn1 + (biasn3 - biasn1 + 1) / 2;
G4PhysicsOrderedFreeVector PhiBiasH
G4PhysicsOrderedFreeVector YBiasH
G4PhysicsOrderedFreeVector IPDFYBiasH
G4PhysicsOrderedFreeVector PosPhiBiasH
CLHEP::Hep3Vector G4ThreeVector
void InsertValues(G4double energy, G4double value)
void SetEnergyBias(G4ThreeVector)
G4PhysicsOrderedFreeVector IPDFEnergyBiasH
void SetYBias(G4ThreeVector)
G4PhysicsOrderedFreeVector IPDFPosPhiBiasH
size_t GetVectorLength() const
G4double GetLowEdgeEnergy(size_t binNumber) const
void SetPosThetaBias(G4ThreeVector)
G4PhysicsOrderedFreeVector ZeroPhysVector
void SetThetaBias(G4ThreeVector)
void SetZBias(G4ThreeVector)
void SetXBias(G4ThreeVector)
G4PhysicsOrderedFreeVector IPDFPosThetaBiasH
G4GLOB_DLL std::ostream G4cout
G4PhysicsOrderedFreeVector IPDFZBiasH
G4PhysicsOrderedFreeVector IPDFThetaBiasH
G4double GetEnergy(G4double aValue)
void SetPhiBias(G4ThreeVector)
G4PhysicsOrderedFreeVector IPDFPhiBiasH
G4PhysicsOrderedFreeVector XBiasH
G4PhysicsOrderedFreeVector PosThetaBiasH
G4PhysicsOrderedFreeVector EnergyBiasH
G4PhysicsOrderedFreeVector IPDFXBiasH
G4double GenRandPosTheta()
G4PhysicsOrderedFreeVector ThetaBiasH
G4PhysicsOrderedFreeVector ZBiasH
void SetPosPhiBias(G4ThreeVector)