source: JEM-EUSO/esaf_cc_at_lal/packages/simulation/lightsources/include/LightSource.hh @ 114

Last change on this file since 114 was 114, checked in by moretto, 11 years ago

actual version of ESAF at CCin2p3

File size: 1.4 KB
Line 
1// ESAF : Euso Simulation and Analysis Framework
2// $Id: LightSource.hh 2676 2006-04-28 15:22:49Z moreggia $
3// D. De Marco - M. Pallavicini created Jan, 20 2002
4//
5// IMPORTANT : EVERY child of this generic class MUST CONTAIN and HANDLE
6//             creation and destruction of the PhotonsInAtmosphere* pointer
7//             (the object must be in the HEAP)
8//
9
10#ifndef __LIGHTSOURCE_HH_
11#define __LIGHTSOURCE_HH_
12
13#include "euso.hh"
14#include "EsafConfigurable.hh"
15#include "ConfigFileParser.hh"
16
17class PhotonsInAtmosphere;
18class MCTruth;
19class PhysicsData;
20
21class LightSource : public EsafConfigurable {
22public:
23    // ctor
24    LightSource() {}
25    LightSource(const string& name);
26
27    // dtor
28    virtual ~LightSource();
29
30    virtual PhotonsInAtmosphere* Get( const PhysicsData* ) = 0;
31    virtual MCTruth* Truth() = 0;
32   
33    // get ready for next event
34    virtual void Reset() = 0;
35
36    // release all the mem hold in the buffers
37    virtual Bool_t ClearMemory() = 0;
38   
39    // Set/Get wavelength bounds
40    inline void SetWlRange(Double_t min, Double_t max) {fLambdaMin = min; fLambdaMax = max;}
41    inline Double_t GetWlRangeMin() {return fLambdaMin;}
42    inline Double_t GetWlRangeMax() {return fLambdaMax;}
43 
44    EsafConfigClass(LightSource,LightSource)
45
46protected:
47    string fName;
48    Double_t fLambdaMin;
49    Double_t fLambdaMax;
50
51    ClassDef(LightSource,0)
52};
53
54#endif  /* __LIGHTSOURCE_HH_ */
55
Note: See TracBrowser for help on using the repository browser.