//______________________________________________________________________________ beam::beam(const int Z, const int A, const double bdeuteron, const bool dAuCoherentProduction, const inputParameters& input) : nucleus(Z, A, bdeuteron, dAuCoherentProduction) { // setting needed inputparameters to protected variables _beamLorentzGamma = input.beamLorentzGamma(); }
//_____________________________________________________________________________ Gammagammaleptonpair::Gammagammaleptonpair(const inputParameters& inputParametersInstance, randomGenerator* randy, beamBeamSystem& bbsystem) : eventChannel(inputParametersInstance, randy, bbsystem) , _GGlepInputpidtest(inputParametersInstance.prodParticleType()) , _GGlepInputnumw(inputParametersInstance.nmbWBins()) , _GGlepInputnumy(inputParametersInstance.nmbRapidityBins()) , _GGlepInputGamma_em(inputParametersInstance.beamLorentzGamma()) { //Initialize randomgenerator with our seed. _randy->Rndom(); //Let us read in the luminosity tables read(); //Now we will calculate the crosssection twoLeptonCrossSection(); //If it is a tauon, calculate its tables if(inputParametersInstance.prodParticleId()==starlightConstants::TAUONDECAY) calculateTable(); }
//______________________________________________________________________________ Gammaavectormeson::Gammaavectormeson(inputParameters& input,beamBeamSystem& bbsystem):eventChannel(input,bbsystem), _phaseSpaceGen(0) //:readLuminosity(input),_bbs(bbsystem) { _VMNPT=input.nmbPtBinsInterference(); _VMWmax=input.maxW(); _VMWmin=input.minW(); _VMYmax=input.maxRapidity(); _VMYmin=-1.*_VMYmax; _VMnumw=input.nmbWBins(); _VMnumy=input.nmbRapidityBins(); _VMgamma_em=input.beamLorentzGamma(); _VMinterferencemode=input.interferenceEnabled(); _VMbslope=0.;//Will define in wide/narrow constructor _VMpidtest=input.prodParticleType(); _VMptmax=input.maxPtInterference(); _VMdpt=input.ptBinWidthInterference(); //_randy.SetSeed(input.randomSeed()); _VMCoherence=input.coherentProduction(); _VMCoherenceFactor=input.coherentProduction();//probably not needed switch(_VMpidtest){ case starlightConstants::RHO: case starlightConstants::RHOZEUS: _width=0.1507; _mass=0.7685; break; case starlightConstants::FOURPRONG: // create n-body phase-space generator instance _phaseSpaceGen = new nBodyPhaseSpaceGen(); _phaseSpaceGen->setSeed(input.randomSeed()); _width = 0.360; _mass = 1.350; break; case starlightConstants::OMEGA: _width=0.00843; _mass=0.78194; break; case starlightConstants::PHI: _width=0.00443; _mass=1.019413; break; case starlightConstants::JPSI: case starlightConstants::JPSI_ee: case starlightConstants::JPSI_mumu: _width=0.000091; _mass=3.09692; break; case starlightConstants::JPSI2S: case starlightConstants::JPSI2S_ee: case starlightConstants::JPSI2S_mumu: _width=0.000337; _mass=3.686093; break; case starlightConstants::UPSILON: case starlightConstants::UPSILON_ee: case starlightConstants::UPSILON_mumu: _width=0.00005402; _mass=9.46030; break; case starlightConstants::UPSILON2S: case starlightConstants::UPSILON2S_ee: case starlightConstants::UPSILON2S_mumu: _width=0.00003198; _mass=10.02326; break; case starlightConstants::UPSILON3S: case starlightConstants::UPSILON3S_ee: case starlightConstants::UPSILON3S_mumu: _width=0.00002032; _mass=10.3552; break; default: cout<<"No proper vector meson defined, gammaavectormeson::gammaavectormeson"<<endl; } }