source: branches/MarsMoreSimulationTruth/msim/MSimAbsorption.h@ 19082

Last change on this file since 19082 was 18547, checked in by tbretz, 10 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.