77 using namespace CLHEP;
82 {2190., 1920., 1700., 1600., 1440., 1232. };
181 outFile <<
"G4NeutrinoNucleusModel is a neutrino-nucleus general\n"
182 <<
"model which uses the standard model \n"
183 <<
"transfer parameterization. The model is fully relativistic\n";
219 if( pdg == 211 || pdg == -211 || pdg == 111)
234 for(
unsigned int i = 0; i < ddktv->size(); i++ )
238 ddktv->operator[](i)->Get4Momentum());
243 delete ddktv->operator[](i);
262 if( pdg == 2212 || pdg == 2112)
273 G4double det(0.), det2(0.), rM(0.), mX = lvB.
m();
298 if( det2 <= 0. ) det = 0.;
299 else det = sqrt(det2);
310 eX = sqrt( pX*pX +
fMr*
fMr );
314 if( pdg == 2212 || pdg == 2112)
329 for(
unsigned int i = 0; i < ddktv->size(); i++ )
333 ddktv->operator[](i)->Get4Momentum() );
338 delete ddktv->operator[](i);
344 G4double eRecoil = sqrt( rM*rM + dP*dP );
380 if( products != NULL )
382 G4ReactionProductVector::iterator iter;
384 for( iter = products->begin(); iter != products->end(); ++iter )
388 (*iter)->GetTotalEnergy(),
389 (*iter)->GetMomentum());
418 G4double rM(0.), mN(938.), mI(0.), det(0.), det2(0.);
469 if(det2 > 0.) det = sqrt(det2);
476 if( pX < 0. ) pX = 0.;
478 eX = sqrt( dP*dP +
fMr*
fMr );
481 if(
A > 1 ) lvN.
boost(bst);
491 G4double eRecoil = sqrt( rM*rM + pX*pX );
536 G4int pdgB(0), i(0), qM(0), qB(0);
537 G4double mM(0.), mB(0.), eM(0.), eB(0.), pM(0.), pB(0.);
538 G4double mm1(0.), mm22(0.), M1(0.), M2(0.), mX(0.);
562 if( i == fClustNumber || i == fClustNumber-1 )
564 if ( qX == 2 || qX == 0) { pdgB = 2212; qB = 1;}
566 else if( qX == 1 || qX == -1) { pdgB = 2112; qB = 0;}
570 else if( mX <
fBarMass[i] + deltaMr[i] || mX < mN + mPi )
574 if ( qX == 1 && pdgB != 2212) pdgB = pdgB - 10;
575 else if( qX == 0 && pdgB != 2212) pdgB = pdgB - 110;
576 else if( qX == 0 && pdgB == 2212) pdgB = pdgB - 100;
589 if( qX == 2 || qX == 0) { pdgB = 2212; qB = 1;}
590 else if( qX == 1 || qX == -1) { pdgB = 2112; qB = 0;}
602 mM = mm1 + rand*(mm22-mm1);
619 if ( qX == 2 || qX == 0) { pdgB = 2212; qB = 1;}
620 else if( qX == 1 || qX == -1) { pdgB = 2112; qB = 0;}
631 eM = 0.5*(mX*mX + mM*mM - mB*mB)/mX;
632 pM = sqrt(eM*eM - mM*mM);
636 eB = 0.5*(mX*mX + mB*mB - mM*mM)/mX;
637 pB = sqrt(eB*eB - mB*mB);
645 if ( qX == 2 ) { qM = 1; qB = 1;}
646 else if( qX == 1 ) { qM = 0; qB = 1;}
647 else if( qX == 0 ) { qM = 0; qB = 0;}
648 else if( qX == -1 ) { qM = -1; qB = 0;}
669 G4int pdgM(0), pdgB(0), i(0), qM(0), qB(0);
670 G4double mM(0.), mB(0.), eM(0.), eB(0.), pM(0.), pB(0.);
671 G4double mm1(0.), mm22(0.), M1(0.), M2(0.), mX(0.);
693 if( i == fClustNumber )
695 if ( qX == 1) { pdgB = 211; qB = 1;}
696 else if( qX == 0 ) { pdgB = 111; qB = 0;}
697 else if( qX == -1) { pdgB = -211; qB = -1;}
701 else if( mX <
fMesMass[i] + deltaMr[i] )
708 if( qX == 0 ) pdgB = pdgB - 100;
709 else if( qX == -1 ) pdgB = -pdgB;
711 if( finB )
return FinalMeson( lvX, qX, pdgB );
718 mm22 = mX - mPi - 1.*
MeV;
722 if ( qX == 1) { pdgB = 211; qB = 1;}
723 else if( qX == 0 ) { pdgB = 111; qB = 0;}
724 else if( qX == -1) { pdgB = -211; qB = -1;}
733 if ( qX == 1 ) { qM = 1; qB = 0;}
734 else if( qX == 0 ) { qM = -1; qB = 1;}
735 else if( qX == -1 ) { qM = -1; qB = 0;}
744 mM = mm1 + rand*(mm22-mm1);
757 if( i == fClustNumber || i == fClustNumber-1 )
759 if ( qX == 1) { pdgB = 211; qB = 1;}
760 else if( qX == 0 ) { pdgB = 111; qB = 0;}
761 else if( qX == -1) { pdgB = -211; qB = -1;}
765 else if( mX <
fMesMass[i] + deltaMr[i] )
772 if( qX == 0 ) pdgB = pdgB - 100;
773 else if( qX == -1 ) pdgB = -pdgB;
775 if( finB )
return FinalMeson( lvX, qX, pdgB );
783 if ( qX == 1) { pdgB = 211; qB = 1;}
784 else if( qX == 0 ) { pdgB = 111; qB = 0;}
785 else if( qX == -1) { pdgB = -211; qB = -1;}
796 eM = 0.5*(mX*mX + mM*mM - mB*mB)/mX;
797 pM = sqrt(eM*eM - mM*mM);
801 eB = 0.5*(mX*mX + mB*mB - mM*mM)/mX;
802 pB = sqrt(eB*eB - mB*mB);
812 if ( qM == 0 ) pdgM = pdgM - 100;
813 else if( qM == -1 ) pdgM = -pdgM;
844 if( delta2 >= 0. ) delta = sqrt(delta2);
846 result = 0.5*(-b-
delta)/a;
869 if ( Z == 1 && A == 1 ) { kF = 0.; }
870 else if ( Z == 1 && A == 2 ) { kF = 87.*
MeV; }
871 else if ( Z == 2 && A == 3 ) { kF = 134.*
MeV; }
872 else if ( Z == 6 && A == 12 ) { kF = 221.*
MeV; }
873 else if ( Z == 14 && A == 28 ) { kF = 239.*
MeV; }
874 else if ( Z == 26 && A == 56 ) { kF = 257.*
MeV; }
875 else if ( Z == 82 && A == 208 ) { kF = 265.*
MeV; }
878 kF = kp*ZpA*( 1 - pow(
G4double(A), -t1 ) ) + kn*NpA*( 1 - pow(
G4double(A), -t2 ) );
918 const G4int maxBin = 12;
920 G4double refA[maxBin] = { 2., 6., 12., 16., 27., 28., 40., 50., 56., 58., 197., 208. };
922 G4double pEx[maxBin] = { 0., 12.2, 10.1, 10.9, 21.6, 12.4, 17.8, 17., 19., 16.8, 19.5, 14.7 };
924 G4double nEx[maxBin] = { 0., 12.2, 10., 10.2, 21.6, 12.4, 21.8, 17., 19., 16.8, 19.5, 16.9 };
928 if(fP)
for( i = 0; i < maxBin; ++i ) dE[i] = pEx[i];
931 for( i = 0; i < maxBin; ++i )
933 if( aa <= refA[i] )
break;
935 if( i >= maxBin )
eX = dE[maxBin-1];
936 else if( i <= 0 )
eX = dE[0];
943 if (a1 == a2 ||
e1 ==
e2 )
eX = dE[i];
944 else eX =
e1 + (
e2-
e1)*(aa-a1)/(a2-a1);
966 if( A <= 12) th = 0.1;
981 if( A <= 12 ) ll = 6.0;
984 ll = 6.0 + 1.35*log(
G4double(A)/12.);
1014 G4int i, eIndex = 0;
1016 for( i = 0; i <
fIndex; i++)
1024 if( i >= fIndex ) eIndex =
fIndex;
1037 if( index <= 0 || energy <
fNuMuEnergy[0] ) ratio = 0.;
1050 ratio = y1 + (energy-
x1)*angle;
1060 0.112103, 0.117359, 0.123119, 0.129443, 0.136404,
1061 0.144084, 0.152576, 0.161991, 0.172458, 0.184126,
1062 0.197171, 0.211801, 0.228261, 0.24684, 0.267887,
1063 0.291816, 0.319125, 0.350417, 0.386422, 0.428032,
1064 0.47634, 0.532692, 0.598756, 0.676612, 0.768868,
1065 0.878812, 1.01062, 1.16963, 1.36271, 1.59876,
1066 1.88943, 2.25002, 2.70086, 3.26916, 3.99166,
1067 4.91843, 6.11836, 7.6872, 9.75942, 12.5259,
1068 16.2605, 21.3615, 28.4141, 38.2903, 52.3062,
1069 72.4763, 101.93, 145.6, 211.39, 312.172
1079 0.98, 0.98, 0.98, 0.98, 0.98, 0.98, 0.98, 0.98, 0.98, 0.98,
1080 0.98, 0.98, 0.98, 0.98, 0.98, 0.98, 0.98, 0.98, 0.98, 0.98,
1081 0.97, 0.96, 0.95, 0.93,
1082 0.917794, 0.850239, 0.780412, 0.709339, 0.638134, 0.568165,
1083 0.500236, 0.435528, 0.375015, 0.319157, 0.268463, 0.2232, 0.183284,
1084 0.148627, 0.119008, 0.0940699, 0.0733255, 0.0563819, 0.0427312, 0.0319274,
1085 0.0235026, 0.0170486, 0.0122149, 0.00857825, 0.00594018, 0.00405037
1094 G4int i, eIndex = 0;
1130 ratio = y1 + (energy-
x1)*angle;
1141 0.275314, 0.293652, 0.31729, 0.33409, 0.351746, 0.365629, 0.380041, 0.400165, 0.437941, 0.479237,
1142 0.504391, 0.537803, 0.588487, 0.627532, 0.686839, 0.791905, 0.878332, 0.987405, 1.08162, 1.16971,
1143 1.2982, 1.40393, 1.49854, 1.64168, 1.7524, 1.87058, 2.02273, 2.15894, 2.3654, 2.55792, 2.73017,
1144 3.03005, 3.40733, 3.88128, 4.53725, 5.16786, 5.73439, 6.53106, 7.43879, 8.36214, 9.39965, 10.296,
1145 11.5735, 13.1801, 15.2052, 17.5414, 19.7178, 22.7462, 25.9026, 29.4955, 33.5867, 39.2516, 46.4716,
1146 53.6065, 63.4668, 73.2147, 85.5593, 99.9854
1154 0.0019357, 0.0189361, 0.0378722, 0.0502758, 0.0662559, 0.0754581, 0.0865008, 0.0987275, 0.124112,
1155 0.153787, 0.18308, 0.213996, 0.245358, 0.274425, 0.301536, 0.326612, 0.338208, 0.337806, 0.335948,
1156 0.328092, 0.313557, 0.304965, 0.292169, 0.28481, 0.269474, 0.254138, 0.247499, 0.236249, 0.221654,
1157 0.205492, 0.198781, 0.182216, 0.162251, 0.142878, 0.128631, 0.116001, 0.108435, 0.0974843, 0.082092,
1158 0.0755204, 0.0703121, 0.0607066, 0.0554278, 0.0480401, 0.0427023, 0.0377123, 0.0323248, 0.0298584,
1159 0.0244296, 0.0218526, 0.019121, 0.016477, 0.0137309, 0.0137963, 0.0110371, 0.00834028, 0.00686127, 0.00538226