Skip to content
Snippets Groups Projects
ActualData.h 1.96 KiB
Newer Older
  • Learn to ignore specific revisions
  • Radim Vavřík's avatar
    Radim Vavřík committed
    // ActualData.h
    
    #ifndef ACTUALDATA_H
    #define ACTUALDATA_H
    
    #include "MatData.h"
    #include "Logger.h"
    #include "Limit.h"
    namespace math1d_cl
    {
    	class ActualData
    	{
    		public:
    			ActualData(
    				std::shared_ptr<math1d_cl::MatData> matData,
    				std::shared_ptr<math1d_cl::Channel> amChannel,
    				int amChannelIdx,
    				std::shared_ptr<math1d_cl::Station> amStation,
    				int amStationIdx,
    				std::vector<int> upstreamChannels, 
    				double stepCn, 
    				double stepN, 
    				double p,
    				Limit cnLimit,
    				Limit nLimit);
    			std::shared_ptr<math1d_cl::Channel> getamChannel();
    			int getAmChannelIdx();
    			std::shared_ptr<math1d_cl::Station> getamStation();
    			int getAmStationIdx();	
    			std::vector<std::shared_ptr<math1d_cl::Channel>> getNChannels();
    			std::vector<int> getNChannelsIdx();
    			std::vector<std::shared_ptr<math1d_cl::Channel>> getCnChannels();
    			std::vector<int> getCnChannelsIdx();
    			double getStepCn();
    			double getStepN();
    			double getP();
    
    			void setCnLimit(Limit cnLimit);
    			Limit getCnLimit();
    			void setnLimit(Limit nLimit);
    			Limit getNLimit();
    
    			void setCnDerivation(std::shared_ptr<std::vector<double>> cnDerivation);
    			std::shared_ptr<std::vector<double>> getCnDerivation();
    			void setnDerivation(std::shared_ptr<std::vector<double>> nDerivation);
    			std::shared_ptr<std::vector<double>> getnDerivation();
    
    
    		private:
    			// Members
    			std::shared_ptr<math1d_cl::Channel> m_amChannel;
    			int m_amChannelIdx;
    			std::shared_ptr<math1d_cl::Station> m_amStation;
    			int m_amStationIdx;
    			std::vector<std::shared_ptr<math1d_cl::Channel>> m_nChannels;
    			std::vector<std::shared_ptr<math1d_cl::Channel>> m_cnChannels;
    			std::vector<int> m_nChannelsIdx;
    			std::vector<int> m_cnChannelsIdx;
    			double m_stepCn;
    			double m_stepN;
    			double m_p;
    			Limit m_cnLimit;
    			Limit m_nLimit;
    			std::shared_ptr<std::vector<double>> m_cnDerivation;
    			std::shared_ptr<std::vector<double>> m_nDerivation;
    	};
    
    }
    #endif