Skip to content
Snippets Groups Projects
Select Git revision
  • 34cbccdb3889f1a7bf1ff3fa6cb5483f959aba39
  • master default protected
  • offload_trapping
  • script_devel
  • parallel_trapping
  • unify_iterations
  • containers-m10
  • magma_refinement
  • release9
  • enable_svd
  • parallel_angles_gmu
  • containers-m8
  • parallel_angles
  • profile_omp_leonardo
  • test_nvidia_profiler
  • containers
  • shaditest
  • test1
  • main
  • 3-error-in-run-the-program
  • experiment
  • NP_TMcode-M10a.03
  • NP_TMcode-M10a.02
  • NP_TMcode-M10a.01
  • NP_TMcode-M10a.00
  • NP_TMcode-M9.01
  • NP_TMcode-M9.00
  • NP_TMcode-M8.03
  • NP_TMcode-M8.02
  • NP_TMcode-M8.01
  • NP_TMcode-M8.00
  • NP_TMcode-M7.00
  • v0.0
33 results

cluster.cpp

Blame
  • Configuration.cpp 5.45 KiB
    // $Id: Configuration.cpp,v 1.11 2011-05-20 16:52:46 a.orlati Exp $
    
    #include "Configuration.h"
    #include "slamac.h"
    
    #define _GET_DWORD_ATTRIBUTE(ATTRIB,DESCR,FIELD) { \
    	DWORD tmpw; \
    	if (!CIRATools::getDBValue(Services,ATTRIB,tmpw)) { \
    		_EXCPT(ComponentErrors::CDBAccessExImpl,dummy,"CConfiguration::Init()"); \
    		dummy.setFieldName(ATTRIB); \
    		throw dummy; \
    	} \
    	else { \
    		FIELD=tmpw; \
    		ACS_DEBUG_PARAM("CConfiguration::Init()",DESCR" %u",tmpw); \
    	} \
    }
    
    #define _GET_STRING_ATTRIBUTE(ATTRIB,DESCR,FIELD) { \
    	CString tmps; \
    	if (!CIRATools::getDBValue(Services,ATTRIB,tmps)) { \
    		_EXCPT(ComponentErrors::CDBAccessExImpl,dummy,"::CConfiguration::Init()"); \
    		dummy.setFieldName(ATTRIB); \
    		throw dummy; \
    	} \
    	else { \
    		FIELD=tmps; \
    		ACS_DEBUG_PARAM("CConfiguration::Init()",DESCR" %s",(const char*)tmps); \
    	} \
    }
    
    #define _GET_DOUBLE_ATTRIBUTE(ATTRIB,DESCR,FIELD) { \
    	double tmpd; \
    	if (!CIRATools::getDBValue(Services,ATTRIB,tmpd)) { \
    		_EXCPT(ComponentErrors::CDBAccessExImpl,dummy,"CConfiguration::Init()"); \
    		dummy.setFieldName(ATTRIB); \
    		throw dummy; \
    	} \
    	else { \
    		FIELD=tmpd; \
    		ACS_DEBUG_PARAM("CConfiguration::Init()",DESCR" %lf",tmpd); \
    	} \
    }
    
    #define _GET_DOUBLE_ATTRIBUTE_E(ATTRIB,DESCR,FIELD,NAME) { \
    	double tmpd; \
    	if (!IRA::CIRATools::getDBValue(Services,ATTRIB,tmpd,"alma/",NAME)) { \
    		_EXCPT(ComponentErrors::CDBAccessExImpl,dummy,"CConfiguration::init()"); \
    		dummy.setFieldName(ATTRIB); \
    		throw dummy; \
    	} \
    	else { \
    		FIELD=tmpd; \
    		ACS_DEBUG_PARAM("CConfiguration::init()",DESCR" %lf",tmpd); \
    	} \
    }
    
    CConfiguration::CConfiguration()
    {
    }
    
    CConfiguration::~CConfiguration()
    {
    }
    
    void CConfiguration::init(maci::ContainerServices *Services) throw (ComponentErrors::CDBAccessExImpl)
    {
    	IRA::CString temp;
    	_GET_STRING_ATTRIBUTE("MountInstance","Mount instance is ",m_mountInstance);
    	_GET_STRING_ATTRIBUTE("ObservatoryInterface","Observatory interface is ",m_observatoryComp);
    	_GET_STRING_ATTRIBUTE("PointingModelInstance","Pointing model instance is ",m_pointingInstance);
    	_GET_STRING_ATTRIBUTE("RefractionInstance","Refraction instance is ",m_refractionInstance);
    	_GET_STRING_ATTRIBUTE("Otf","Generator for On The Fly  is ",m_otfInterface);
    	_GET_STRING_ATTRIBUTE("Sun","Generator for the Sun  is ",m_sunInterface);
    	_GET_STRING_ATTRIBUTE("Moon","Generator for the Moon  is ",m_moonInterface);
    	_GET_STRING_ATTRIBUTE("Sidereal","Generator for sidereal tracking  is ",m_siderealInterface);
    	_GET_STRING_ATTRIBUTE("SolarSystemBody","Generator for bodies of the Solar System  is ",m_solarSystemBodyInterface);
    	_GET_STRING_ATTRIBUTE("Satellite","Generator for Satellite  is ",m_satelliteInterface);
    	_GET_DWORD_ATTRIBUTE("WatchingThreadTime","Sleep time of watching thread (uSec)",m_watchingThreadTime);
    	_GET_DWORD_ATTRIBUTE("WorkingThreadTime","Sleep time of watching thread (uSec)",m_workingThreadTime);
    	_GET_DWORD_ATTRIBUTE("CoordinateIntegration","Integration period for coordinates (uSec)",m_coordinateIntegration);
    	_GET_DWORD_ATTRIBUTE("RepetitionCacheTime","Log repetition filter cache time (uSec)",m_repetitionCacheTime);
    	_GET_DWORD_ATTRIBUTE("RepetitionExpireTime","Log repetition filter expire time  (uSec)",m_repetitionExpireTime);
    	_GET_DWORD_ATTRIBUTE("MinPointNumber","Minimum guaranteed points in the trajectory",m_minPointNumber);
    	_GET_DWORD_ATTRIBUTE("MaxPointNumber","Maximum points in the trajectory",m_maxPointNumber);
    	_GET_DWORD_ATTRIBUTE("GapTime","Gap time between points in trajectory  (uSec)",m_gapTime);
    	_GET_DOUBLE_ATTRIBUTE_E("maxAzimuthRate","Max absolute value for Az rate (degrees/s):",m_maxAzimuthRate,"DataBlock/Mount");
    	_GET_DOUBLE_ATTRIBUTE_E("maxElevationRate","Max absolute value for El rate (degrees/s):",m_maxElevationRate,"DataBlock/Mount");
    	_GET_DOUBLE_ATTRIBUTE_E("minElevation","Lower elevation limit (degrees):",m_minElevation,"DataBlock/Mount");
    	_GET_DOUBLE_ATTRIBUTE_E("maxElevation","Upper elevation limit (degrees):",m_maxElevation,"DataBlock/Mount");
    	_GET_DOUBLE_ATTRIBUTE_E("maxAzimuthAcceleration","Max value for Az acceleration (degrees/s^2):",m_maxAzimuthAccelaration,"DataBlock/Mount");
    	_GET_DOUBLE_ATTRIBUTE_E("maxElevationAcceleration","Max value for El acceleration (degrees/s^2):",m_maxElevationAcceleration,"DataBlock/Mount");
    	_GET_DOUBLE_ATTRIBUTE_E("diameter","Telescope dish diameter (meters):",m_diameter,"DataBlock/Mount");
    	_GET_DOUBLE_ATTRIBUTE_E("MinElevationAvoidance","Suggested lower elevation limit  for source observation(degrees):",m_minElevationAvoidance,"DataBlock/Mount");
    	_GET_DOUBLE_ATTRIBUTE_E("MaxElevationAvoidance","Suggested upper elevation limit  for source observation(degrees):",m_maxElevationAvoidance,"DataBlock/Mount");
    	_GET_DOUBLE_ATTRIBUTE("CutOffElevation","The cut off elevation is (degrees):",m_cutOffElevation);
    	_GET_STRING_ATTRIBUTE("SkydipElevationRange","The skydip elevation range is (degrees):",temp);
    	_GET_STRING_ATTRIBUTE("CoordinatesFilename", "The text file path in which the received coordinates will be written:", m_coordinatesFile);
    
    	if (sscanf((const char *)temp,"%lf %lf",&m_skydipElDown,&m_skydipElUp)!=2) {
    		_EXCPT(ComponentErrors::CDBAccessExImpl,dummy,"CConfiguration::Init()");
    		dummy.setFieldName("SkydipElevationRange");
    		throw dummy;
    	}
    	m_skydipElDown*=DD2R;
    	m_skydipElUp*=DD2R;
    	m_maxElevation*=DD2R;
    	m_minElevation*=DD2R;
    	m_maxAzimuthRate*=DD2R;
    	m_maxElevationRate*=DD2R;
    	m_maxAzimuthAccelaration*=DD2R;
    	m_maxElevationAcceleration*=DD2R;
    	m_minElevationAvoidance*=DD2R;
    	m_maxElevationAvoidance*=DD2R;
    	m_coordinateIntegration*=10;
    	m_cutOffElevation*=DD2R;
    }