source: trunk/Mars/msimreflector/MSimRays.h@ 19856

Last change on this file since 19856 was 19599, checked in by tbretz, 5 years ago
Possibility to simulate a Cherenkov Spectrum.
File size: 1.6 KB
Line 
1#ifndef MARS_MSimRays
2#define MARS_MSimRays
3
4#ifndef MARS_MTask
5#include "MTask.h"
6#endif
7
8class MParList;
9class MGeomCam;
10class MPointingPos;
11class MPhotonEvent;
12class MCorsikaEvtHeader;
13
14class MOptics;
15
16class MSimRays : public MTask
17{
18private:
19 MPhotonEvent *fEvt; //! Event storing the photons
20 MOptics *fReflector; //! Geometry of the reflector
21 MPointingPos *fPointPos; //! Direction the telescope is pointing to
22 MPointingPos *fSource; //! Direction the rays are coming from relative to the telescope
23
24 UInt_t fNumPhotons; // Number of photons to be produced
25 Double_t fHeight; //[km] Height of point source (<=0 means infinity)
26
27 Double_t fWavelengthMin;
28 Double_t fWavelengthMax;
29
30 TString fNameReflector;
31 TString fNamePointPos;
32 TString fNameSource;
33
34 // MParContainer
35 Int_t ReadEnv(const TEnv &env, TString prefix, Bool_t print);
36
37 // MTask
38 Int_t PreProcess(MParList *pList);
39 Int_t Process();
40
41public:
42 MSimRays(const char *name=NULL, const char *title=NULL);
43
44 void SetNameReflector(const char *name="MReflector") { fNameReflector = name; }
45 void SetNamePointPos(const char *name="MPointingPos") { fNamePointPos = name; }
46 void SetNameSource(const char *name="Source") { fNameSource = name; }
47
48 void SetHeight(Double_t h=-1) { fHeight=h; }
49 void SetNumPhotons(UInt_t n) { fNumPhotons=n; }
50
51 void SetWavelengthRange(Double_t min, Double_t max) { fWavelengthMin = min; fWavelengthMax = max; }
52
53 // MSimRays
54 ClassDef(MSimRays, 0) // Task to simulate a source for rays
55};
56
57#endif
Note: See TracBrowser for help on using the repository browser.