// ESAF : Euso Simulation and Analysis Framework // $Id: CloudsBox.hh,v 1.6 2005/09/22 12:15:23 naumov Exp $ // Sylvain Moreggia created May, 19 2004 #ifndef __CLOUDSBOX_HH_ #define __CLOUDSBOX_HH_ #include "euso.hh" #include /******************************************************************************* * * CloudsBox : class description * * Elementary box for clouds map (3D-pixel) * ******************************************************************************/ struct CloudLayer { virtual ~CloudLayer() {}; Double_t fTopAlt; // cloud top altitude Double_t fODloc; // local vertical OD //TOADD: size distribution for ice and water droplets ClassDef(CloudLayer,0) }; class CloudsBox { public: // ctor CloudsBox(); CloudsBox(Double_t,Double_t,Double_t,UInt_t); // dtor virtual ~CloudsBox(); // Getters inline Int_t GetNumberOfLayers() const {return fNb;} inline Double_t GetODlocal(Int_t i) const {return fLayers[i]->fODloc;} inline Double_t GetLayerTop(Int_t i) const {return fLayers[i]->fTopAlt;} inline Double_t GetLayerWidth() const {return fWidth;} inline Double_t GetTopAlt() const {return fTop;} inline Double_t GetBottomAlt() const {return fBottom;} inline Double_t GetTotalOD() const {return fODtot;} void GetODprofile(vector&) const; private: vector fLayers; // list of cloud layers, with highest first Double_t fODtot; // total vertical OD Double_t fTop; // altitude of the top layer Double_t fBottom; // altitude of the bottom layer Double_t fWidth; // width of a layer UInt_t fNb; // number of layers ClassDef(CloudsBox,0) }; #endif /* __CLOUDSBOX_HH_ */