source: JEM-EUSO/esaf_cc_at_lal/packages/simulation/detector/optics/include/DatabaseOpticalSystem.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.2 KB
Line 
1// ESAF : Euso Simulation and Analysis Framework
2// $Id: DatabaseOpticalSystem.hh 1840 2005-05-13 15:23:55Z thea $
3// A.Thea, J.Watts created Mar, 23 2004
4
5#ifndef __DATABASEOPTICALSYSTEM_HH_
6#define __DATABASEOPTICALSYSTEM_HH_
7
8#include "euso.hh"
9#include "OpticalSystem.hh"
10#include "OADBConverter.hh"
11#include <fstream>
12#include <vector>
13
14class DatabaseOpticalSystem : public OpticalSystem {
15public:
16    // ctor
17    DatabaseOpticalSystem();
18
19    // dtor
20    virtual ~DatabaseOpticalSystem();
21
22    // transport a photon through the optics
23    virtual Photon *Transport(Photon *) const;
24   
25private:
26    void Init();
27    streampos LoadHeader( streampos = 0 );
28    streampos LoadKeyMap( streampos = 0 );
29
30    string KeyWord( OAEKeyType type) { return OADBConverter::KeyWord(type); }
31
32    ifstream *fBinFile;
33
34    Float_t fXYStep;
35    Float_t fEntranceDiscRadius;
36    Float_t fEntranceZ;
37    Float_t fExitZ;
38   
39    vector<Float_t> fWavelengths;
40    vector<Float_t> fAngles;
41
42    Int_t fNumPos;
43    vector<Int_t> fNumCols;
44    vector<size_t> fRowsOffset;
45    vector< vector<streampos> > fKeyMap;
46
47    size_t fKeyLength; 
48
49    EsafConfigClass(Optics,DatabaseOpticalSystem)
50
51    ClassDef(DatabaseOpticalSystem,0)
52};
53
54#endif  /* __DATABASEOPTICALSYSTEM_HH_ */
55
Note: See TracBrowser for help on using the repository browser.