Last change
on this file since 117 was
117,
checked in by moretto, 11 years ago
|
ESAF version compilable on mac OS
|
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 | |
---|
14 | class DatabaseOpticalSystem : public OpticalSystem { |
---|
15 | public: |
---|
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 | |
---|
25 | private: |
---|
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.