// ESAF : Euso Simulation and Analysis Framework // $Id: ShowerLightSource.hh,v 1.21 2005/01/24 09:24:00 moreggia Exp $ // Alessandro Thea created Nov, 24 2003 #ifndef __SHOWERLIGHTSOURCE_HH_ #define __SHOWERLIGHTSOURCE_HH_ #include "euso.hh" #include "LightSource.hh" #include "BunchOfPhotons.hh" #include "ShowerTrack.hh" #include #include class FluoCalculator; class CrkCalculator; class ListPhotonsInAtmosphere; class PhysicsData; class ShowerLightSource : public LightSource, public EsafMsgSource { public: // ctor ShowerLightSource(); // dtor virtual ~ShowerLightSource(); // generate photons virtual PhotonsInAtmosphere* Get( const PhysicsData* ); MCTruth* Truth(); // get ready for next event virtual void Reset(); EsafConfigClass(LightSource,ShowerLightSource) private: BunchOfPhotons* MakeFluoStep(const ShowerStep& step,TF2* EnergyDistribution,TF2* LateralDistribution); BunchOfPhotons* MakeCerenkovStep(const ShowerStep& step, TF2* EnergyDistribution, TF2* AngularDistribution,TF2* LateralDistribution); void Configure(); ListPhotonsInAtmosphere* fPh_in_atmo; FluoCalculator* fFluocalcul; CrkCalculator* fCrkcalcul; string fEnergyDistributionName; string fLateralDistributionName; string fAngularDistributionName; ClassDef(ShowerLightSource,0) }; #endif /* __SHOWERLIGHTSOURCE_HH_ */