48 using namespace starlightConstants;
54 ,_baseFileName(inputParametersInstance.baseFileName())
55 ,_beamLorentzGamma(inputParametersInstance.beamLorentzGamma())
56 ,_maxW(inputParametersInstance.maxW())
57 ,_minW(inputParametersInstance.minW())
58 ,_nmbWBins(inputParametersInstance.nmbWBins())
59 ,_maxRapidity(inputParametersInstance.maxRapidity())
60 ,_nmbRapidityBins(inputParametersInstance.nmbRapidityBins())
61 ,_productionMode(inputParametersInstance.productionMode())
62 ,_beamBreakupMode(inputParametersInstance.beamBreakupMode())
63 ,_interferenceEnabled(inputParametersInstance.interferenceEnabled())
64 ,_interferenceStrength(inputParametersInstance.interferenceStrength())
65 ,_maxPtInterference(inputParametersInstance.maxPtInterference())
66 ,_nmbPtBinsInterference(inputParametersInstance.nmbPtBinsInterference())
67 ,_protonEnergy(inputParametersInstance.protonEnergy())
68 ,_parameterValueKey(inputParametersInstance.parameterValueKey())
70 cout <<
"Creating Luminosity Tables for incoherent vector meson production."<<endl;
72 cout <<
"Luminosity Tables created."<<endl;
86 double testint,dndWdY;
90 std::string wyFileName;
94 wylumfile.precision(15);
102 wylumfile.open(wyFileName.c_str());
108 wylumfile <<
_maxW <<endl;
109 wylumfile <<
_minW <<endl;
125 for(
unsigned int i = 0; i <=
_nWbins - 1; ++i) {
126 W =
_wMin + double(i)*dW + 0.5*dW;
128 wylumfile << W << endl;
133 for(
unsigned int i = 0; i <=
_nYbins - 1; ++i) {
134 Y = -1.0*
_yMax + double(i)*dY + 0.5*
dY;
135 wylumfile << Y << endl;
144 for(
unsigned int i = 0; i <=
_nWbins - 1; ++i) {
146 W =
_wMin + double(i)*dW + 0.5*dW;
153 for(
unsigned int j = 0; j <=
_nYbins - 1; ++j) {
155 Y = -1.0*
_yMax + double(j)*dY + 0.5*
dY;
157 if( A_2 == 1 && A_1 != 1 ){
159 Egamma = 0.5*W*exp(Y);
161 }
else if( A_1 ==1 && A_2 != 1){
163 Egamma = 0.5*W*exp(-Y);
166 Egamma = 0.5*W*exp(Y);
174 double Wgp = sqrt(2.*Egamma*(Ep+sqrt(Ep*Ep-starlightConstants::protonMass*
175 starlightConstants::protonMass))+starlightConstants::protonMass*starlightConstants::protonMass);
177 double localsig =
sigmagp(Wgp);
178 if( A_1 == 1 && A_2 != 1 ){
180 }
else if (A_2 ==1 && A_1 !=1){
184 double csVA =
sigma_A(csVN,beam);
185 double csgA= (csVA/csVN)*
sigmagp(Wgp);
190 wylumfile << dndWdY << endl;
197 if( !( (A_2 == 1 && A_1 != 1) || (A_1 == 1 && A_2 != 1) ) ){
198 for(
unsigned int i = 0; i <=
_nWbins - 1; ++i) {
200 W =
_wMin + double(i)*dW + 0.5*dW;
207 for(
unsigned int j = 0; j <=
_nYbins - 1; ++j) {
209 Y = -1.0*
_yMax + double(j)*dY + 0.5*
dY;
212 Egamma = 0.5*W*exp(-Y);
218 double Wgp = sqrt(2.*Egamma*(Ep+sqrt(Ep*Ep-starlightConstants::protonMass*
219 starlightConstants::protonMass))+starlightConstants::protonMass*starlightConstants::protonMass);
222 double csVA =
sigma_A(csVN,beam);
223 double csgA= (csVA/csVN)*
sigmagp(Wgp);
228 wylumfile << dndWdY << endl;
234 wylumfile << bwnorm << endl;