// ESAF : Euso Simulation and Analysis Framework // $Id: DatabaseOpticalSystem.hh,v 1.7 2005/05/13 15:23:55 thea Exp $ // A.Thea, J.Watts created Mar, 23 2004 #ifndef __DATABASEOPTICALSYSTEM_HH_ #define __DATABASEOPTICALSYSTEM_HH_ #include "euso.hh" #include "OpticalSystem.hh" #include "OADBConverter.hh" #include #include class DatabaseOpticalSystem : public OpticalSystem { public: // ctor DatabaseOpticalSystem(); // dtor virtual ~DatabaseOpticalSystem(); // transport a photon through the optics virtual Photon *Transport(Photon *) const; private: void Init(); streampos LoadHeader( streampos = 0 ); streampos LoadKeyMap( streampos = 0 ); string KeyWord( OAEKeyType type) { return OADBConverter::KeyWord(type); } ifstream *fBinFile; Float_t fXYStep; Float_t fEntranceDiscRadius; Float_t fEntranceZ; Float_t fExitZ; vector fWavelengths; vector fAngles; Int_t fNumPos; vector fNumCols; vector fRowsOffset; vector< vector > fKeyMap; size_t fKeyLength; EsafConfigClass(Optics,DatabaseOpticalSystem) ClassDef(DatabaseOpticalSystem,0) }; #endif /* __DATABASEOPTICALSYSTEM_HH_ */