]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STARLIGHT/starlight/include/starlightdpmjet.h
STARLIGHT code and interface
[u/mrichter/AliRoot.git] / STARLIGHT / starlight / include / starlightdpmjet.h
CommitLineData
da32329d
AM
1
2/*
3 <one line to give the program's name and a brief idea of what it does.>
4 Copyright (C) <year> <name of author>
5
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.
10
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.
15
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.
19
20*/
21
22#ifndef STARLIGHTDPMJET_H
23#define STARLIGHTDPMJET_H
24
25#include <eventchannel.h>
26#include <spectrum.h>
27
28class starlightDpmJet : public eventChannel
29{
30
31public:
32
33 starlightDpmJet(beamBeamSystem& beamsystem);
34
35 int init();
36
37 virtual upcEvent produceEvent();
38
39 virtual upcEvent produceSingleEvent(int zdirection, float egamma);
40
41 virtual upcEvent produceDoubleEvent();
42
43 virtual starlightConstants::event produceEvent(int& /*ievent*/) { return starlightConstants::event(); }
44
45 void setSingleMode() { _doDoubleEvent = false; }
46
47 void setDoubleMode() { _doDoubleEvent = true; }
48
49 void setMinGammaEnergy(double energy) { _minGammaEnergy = energy; }
50
51 void setMaxGammaEnergy(double energy) { _maxGammaEnergy = energy; }
52
53 void setProtonMode(bool v = true) { _protonMode = v; }
54
55
56 private:
57
58 /** Contains the photon spectrum */
59 spectrum *_spectrum;
60
61 /** Should we produce a double event? */
62 bool _doDoubleEvent;
63
64 /** Min gamma energy */
65 double _minGammaEnergy;
66
67 /** Max gamma energy */
68 double _maxGammaEnergy;
69
70
71 /** Proton-nucleus mode */
72 double _protonMode;
73
74 /** Default constructor not implemented */
75 starlightDpmJet();
76
77};
78
79#endif // STARLIGHTDPMJET_H