]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STARLIGHT/starlight/include/starlightdpmjet.h
nbins added as data member + axes renamed
[u/mrichter/AliRoot.git] / STARLIGHT / starlight / include / starlightdpmjet.h
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
28 class starlightDpmJet : public eventChannel
29 {
30
31 public:
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