3 <one line to give the program's name and a brief idea of what it does.>
4 Copyright (C) <year> <name of author>
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License along
17 with this program; if not, write to the Free Software Foundation, Inc.,
18 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
22 #ifndef STARLIGHTDPMJET_H
23 #define STARLIGHTDPMJET_H
25 #include <eventchannel.h>
28 class starlightDpmJet : public eventChannel
33 starlightDpmJet(beamBeamSystem& beamsystem);
37 virtual upcEvent produceEvent();
39 virtual upcEvent produceSingleEvent(int zdirection, float egamma);
41 virtual upcEvent produceDoubleEvent();
43 virtual starlightConstants::event produceEvent(int& /*ievent*/) { return starlightConstants::event(); }
45 void setSingleMode() { _doDoubleEvent = false; }
47 void setDoubleMode() { _doDoubleEvent = true; }
49 void setMinGammaEnergy(double energy) { _minGammaEnergy = energy; }
51 void setMaxGammaEnergy(double energy) { _maxGammaEnergy = energy; }
53 void setProtonMode(bool v = true) { _protonMode = v; }
58 /** Contains the photon spectrum */
61 /** Should we produce a double event? */
64 /** Min gamma energy */
65 double _minGammaEnergy;
67 /** Max gamma energy */
68 double _maxGammaEnergy;
71 /** Proton-nucleus mode */
74 /** Default constructor not implemented */
79 #endif // STARLIGHTDPMJET_H