source: branches/Mars_IncreaseNsb/msim/MSimAbsorption.h@ 20046

Last change on this file since 20046 was 18547, checked in by tbretz, 8 years ago
If the CEFFIC option is enables and the user has not requested execution explicitly, it is skipped.
File size: 1.4 KB
Line 
1#ifndef MARS_MSimAbsorption
2#define MARS_MSimAbsorption
3
4#ifndef MARS_MTask
5#include "MTask.h"
6#endif
7
8class MParList;
9class MParSpline;
10class MPhotonEvent;
11class MCorsikaRunHeader;
12class MCorsikaEvtHeader;
13
14class MSimAbsorption : public MTask
15{
16private:
17 MPhotonEvent *fEvt; //! Event stroing the photons
18 MCorsikaRunHeader *fRunHeader; //! Corsika run header
19 MCorsikaEvtHeader *fHeader; //! Header storing event information
20
21 MParSpline *fSpline; //! Spline to interpolate wavelength or incident angle
22
23 TString fParName; // Container name of the spline containing the curve
24 Bool_t fUseTheta; // Switches between using wavelength or incident angle
25 Bool_t fForce; // Force execution even if corsika already simulated the efficiencies
26
27 // MParContainer
28 Int_t ReadEnv(const TEnv &env, TString prefix, Bool_t print=kFALSE);
29
30 // MTask
31 Int_t PreProcess(MParList *pList);
32 Bool_t ReInit(MParList *pList);
33 Int_t Process();
34
35public:
36 MSimAbsorption(const char *name=NULL, const char *title=NULL);
37
38 // MSimAbsorption
39 void SetParName(const char *name) { fParName=name; }
40
41 void SetUseTheta(Bool_t b=kTRUE) { fUseTheta = b; }
42 void SetForce(Bool_t b=kTRUE) { fForce = b; }
43
44 ClassDef(MSimAbsorption, 0) // Task to calculate wavelength or incident angle dependent absorption
45};
46
47#endif
Note: See TracBrowser for help on using the repository browser.