GatedLaserSource.h revision 10447:a465576671d4
1#ifndef __DSENT_MODEL_OPTICAL_GATEDLASERSOURCE_H__ 2#define __DSENT_MODEL_OPTICAL_GATEDLASERSOURCE_H__ 3 4#include "util/CommonType.h" 5#include "model/OpticalModel.h" 6 7namespace DSENT 8{ 9 // A laser source that outputs some number of wavelengths. This laser 10 // full on/off power gating, thus all power are event-based energies 11 class GatedLaserSource : public OpticalModel 12 { 13 public: 14 GatedLaserSource(const String& instance_name_, const TechModel* tech_model_); 15 virtual ~GatedLaserSource(); 16 17 public: 18 // Set a list of properties' name needed to construct model 19 void initParameters(); 20 // Set a list of properties' name needed to construct model 21 void initProperties(); 22 23 protected: 24 // Build the model 25 void constructModel(); 26 void updateModel(); 27 void evaluateModel(); 28 29 }; // class GatedLaserSource 30} // namespace DSENT 31 32#endif // __DSENT_MODEL_OPTICAL_GATEDLASERSOURCE_H__ 33 34