# Path: janus_const.py

# 
# Path: janus_helper.py
# def calc_arr_norm( v ):
# 
# 	mag = sqrt( fsum( [ c**2 for c in v ]) )
# 
# 	return tuple( [ ( c/mag) for c in v ] )
# 
# def calc_arr_dot( u,v ) :
# 	if ( len(u) != len(v) ) :
# 		raise TypeError( 'Unequal lengths.' )
# 	return fsum([ x[0]*x[1] for x in zip(u,v) ]) 


from math import sqrt, acos, pi
from numpy import interp, sin, cos, deg2rad, exp, array
from scipy.special import erf
from janus_const import const
from janus_helper import calc_arr_norm, calc_arr_dot

################################################################################
## LOAD THE NECESSARY MODULES.
################################################################################




################################################################################
## DEFINE THE CLASS FOR DATUM
################################################################################

class fc_dat( ) :

	def __init__( self,
                      spec=None, azim=None,
                      elev=None, volt_cen=None, time=None,
                      volt_del=None, curr=None, valid=False ) :

		self._spec      = spec
		self._azim      = azim
		self._elev      = elev
		self._volt_cen  = volt_cen
		self._volt_del  = volt_del
                self._valid     = valid
                self._time      = time

		self._volt_strt = (self._volt_cen - ( self._volt_del / 2. ) )
		self._volt_stop = (self._volt_cen + ( self._volt_del / 2. ) )


# Path: janus_const.py

# 
# Path: janus_helper.py
# def calc_arr_norm( v ):
# 
# 	mag = sqrt( fsum( [ c**2 for c in v ]) )
# 
# 	return tuple( [ ( c/mag) for c in v ] )
# 
# def calc_arr_dot( u,v ) :
# 	if ( len(u) != len(v) ) :
# 		raise TypeError( 'Unequal lengths.' )
# 	return fsum([ x[0]*x[1] for x in zip(u,v) ]) 


# Path: janus_fc_dat.py
from math import sqrt, acos, pi
from numpy import interp, sin, cos, deg2rad, exp, array
from scipy.special import erf
from janus_const import const
from janus_helper import calc_arr_norm, calc_arr_dot


################################################################################
## LOAD THE NECESSARY MODULES.
################################################################################




################################################################################
## DEFINE THE CLASS FOR DATUM
################################################################################

class fc_dat( ) :

	def __init__( self,
                      spec=None, azim=None,
                      elev=None, volt_cen=None, time=None,
                      volt_del=None, curr=None, valid=False ) :

		self._spec      = spec
		self._azim      = azim
		self._elev      = elev
		self._volt_cen  = volt_cen
		self._volt_del  = volt_del
                self._valid     = valid
                self._time      = time

		self._volt_strt = (self._volt_cen - ( self._volt_del / 2. ) )
		self._volt_stop = (self._volt_cen + ( self._volt_del / 2. ) )


		self._vel_strt  = 1E-3*( sqrt(2.0*const['q_p']*