1 ///////////////////////////////////////////////////////////////////////////
5 // This file is part of starlight.
7 // starlight is free software: you can redistribute it and/or modify
8 // it under the terms of the GNU General Public License as published by
9 // the Free Software Foundation, either version 3 of the License, or
10 // (at your option) any later version.
12 // starlight is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 // GNU General Public License for more details.
17 // You should have received a copy of the GNU General Public License
18 // along with starlight. If not, see <http://www.gnu.org/licenses/>.
20 ///////////////////////////////////////////////////////////////////////////
22 // File and Version Information:
23 // $Rev:: $: revision of last commit
24 // $Author:: $: author of last commit
25 // $Date:: $: date of last commit
28 // this class covers a coliding beam system SK
32 ///////////////////////////////////////////////////////////////////////////
35 #ifndef BEAMBEAMSYSTEM_H
36 #define BEAMBEAMSYSTEM_H
48 beamBeamSystem(const beam& beam1,
53 const beam& beam1() const { return _beam1; } ///< returns beam particle 1
54 const beam& beam2() const { return _beam2; } ///< returns beam particle 2
56 // double getluminosity();
57 double probabilityOfBreakup(const double D) const;
59 double cmsBoost() const { return _cmsBoost; }
61 double beamLorentzGamma() const { return _beamLorentzGamma; }
66 void generateBreakupProbabilities();
67 // int _ibreakup;//temporary solution until read in parameters are done
68 double probabilityOfHadronBreakup(const double impactparameter);
69 double probabilityOfPhotonBreakup(const double impactparameter, const int mode);
71 double _pHadronBreakup;
72 double _pPhotonBreakup;
73 //inputParameters inputbbs;
76 double _beamLorentzGamma; ///< Lorentz gamma factor of beams in collider frame
77 int _beamBreakupMode; ///< \brief breakup mode for beam particles
79 ///< 1 = hard sphere nuclei (b > 2R),
80 ///< 2 = both nuclei break up (XnXn),
81 ///< 3 = a single neutron from each nucleus (1n1n),
82 ///< 4 = neither nucleon breaks up (with b > 2R),
83 ///< 5 = no hadronic break up (similar to option 1, but with the actual hadronic interaction)
85 beam _beam1; ///< beam particle 1
86 beam _beam2; ///< beam particle 2
88 double _cmsBoost; ///< Rapidity boost of the CMS wrt the lab system
90 std::vector<double> _breakupProbabilities; ///< Vector containing breakup probabilities for impact parameters
91 double _breakupImpactParameterStep; ///< Step size in the calculation of the breakup probs
92 double _breakupCutOff; ///< Cut off for minimum impact parameter probability
96 #endif // BEAMBEAMSYSTEM_H