source: trunk/MagicSoft/Mars/msim/MSimAbsorption.h@ 9270

Last change on this file since 9270 was 9232, checked in by tbretz, 16 years ago
*** empty log message ***
File size: 1.5 KB
Line 
1#ifndef MARS_MSimAbsorption
2#define MARS_MSimAbsorption
3
4#ifndef MARS_MTask
5#include "MTask.h"
6#endif
7
8class TSpline3;
9
10class MParList;
11class MSpline3;
12class MPhotonEvent;
13class MCorsikaEvtHeader;
14
15class MSimAbsorption : public MTask
16{
17private:
18 MPhotonEvent *fEvt; //! Event stroing the photons
19 MCorsikaEvtHeader *fHeader; //! Header storing event information
20
21 MSpline3 *fSpline; //! Spline to interpolate wavelength or incident angle
22
23 TString fFileName; // FileName of the file containing the curve
24 Bool_t fUseTheta; // Switches between using wavelength or incident angle
25
26 // MParContainer
27 Int_t ReadEnv(const TEnv &env, TString prefix, Bool_t print=kFALSE);
28
29 // MTask
30 Int_t PreProcess(MParList *pList);
31 Bool_t ReInit(MParList *pList);
32 Int_t Process();
33
34 // MSimAbsorption
35 MSpline3 *ReadSpline(const char *fname);
36
37public:
38 MSimAbsorption(const char *name=NULL, const char *title=NULL);
39 ~MSimAbsorption();
40
41 // MSimAbsorption
42 Bool_t ReadFile(const char *fname=0);
43 void SetFileName(const char *fname) { fFileName=fname; }
44
45 void SetUseTheta(Bool_t b=kTRUE) { fUseTheta = b; }
46
47 void InitUnity(UInt_t n, Float_t min, Float_t max);
48
49 void Multiply(const char *fname);
50 void Multiply(const TSpline3 &spline);
51 void Multiply(UInt_t n, const Double_t *x, const Double_t *y);
52
53 // TObject
54 void Clear(Option_t *o="");
55
56 ClassDef(MSimAbsorption, 0) // Task to calculate wavelength or incident angle dependent absorption
57};
58
59#endif
Note: See TracBrowser for help on using the repository browser.