def requestLikelihoodArrayGeneric(self,craters,s):
		buf = self.buf
		buf.seek(0)
		buf.write('S'+s)
		# return 0
		for crater in craters:
			# pass
			# print crater.x
			polyPlot.setParametersCrater(crater)
			polyPlot.CADConstraints()
			s1 = polyPlot.marshalPolynomialCrater()
			# print s1
			# print "len(s1) \t-> "+str(len(s1))
			buf.write(s1)
		# self.send(s)
		polyPlot.setParametersCrater(craters[0])
		return self.wait()
	def getProfile(self,crater):
		polyPlot.setParametersCrater(crater)
		polyPlot.calcCrater()
		return polyPlot.getProfile()
	def requestLikelihood(self,crater): #,x,y,sediment,w,h,sigma):
		polyPlot.setParametersCrater(crater)
		polyPlot.CADConstraints()
		s1 = polyPlot.marshalPolynomialCrater()
		# s1 = polyPlot.marshalPolynomialCraterMock()
		return self.requestRawLikelihood(s1)