]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STARLIGHT/starlight/include/.svn/text-base/beam.h.svn-base
STARLIGHT code and interface
[u/mrichter/AliRoot.git] / STARLIGHT / starlight / include / .svn / text-base / beam.h.svn-base
1 ///////////////////////////////////////////////////////////////////////////
2 //
3 //    Copyright 2010
4 //
5 //    This file is part of starlight.
6 //
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.
11 //
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.
16 //
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/>.
19 //
20 ///////////////////////////////////////////////////////////////////////////
21 //
22 // File and Version Information:
23 // $Rev::                             $: revision of last commit
24 // $Author::                          $: author of last commit
25 // $Date::                            $: date of last commit
26 //
27 // Description:
28 //
29 //
30 //
31 ///////////////////////////////////////////////////////////////////////////
32
33
34 #ifndef BEAM_H
35 #define BEAM_H
36
37
38 //This calls inclues a single beam of nucleons
39 #include "nucleus.h"
40 #include "inputParameters.h"
41
42
43 class beam : public nucleus
44 {
45
46 public:
47
48         beam(const int              Z,
49              const int              A,
50              const double           bdeuteron,
51              const bool             dAuCoherentProduction);
52         
53         ~beam();
54
55         double photonFlux(const double impactparameter,
56                           const double photonEnergy) const;  ///< calculates photon density (number of photons / (energy * area))
57
58         double rapidity() const { return acosh(_beamLorentzGamma); }
59         
60         void setBeamLorentzGamma(double gamma) {_beamLorentzGamma = gamma;}
61 protected:
62
63         //inputParameters inputbeam;
64         double _beamLorentzGamma;  ///< Lorentz gamma factor of beams in collider frame (from inputParameters)
65
66 };
67
68
69 #endif  // BEAM_H