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