Index: sansmodels/src/libigor/libSANSAnalysis.h
===================================================================
--- sansmodels/src/libigor/libSANSAnalysis.h	(revision 7599dac724f5c66d6fd607299c2a52b7d888e1bf)
+++ sansmodels/src/libigor/libSANSAnalysis.h	(revision 6e93a029d775ebbe413e7c484e2b69f68be665ab)
@@ -4,8 +4,16 @@
  *
  *  Created by Andrew Jackson on 4/24/07.
+ *  Copyright 2007 __MyCompanyName__. All rights reserved.
  *
  */
 
+#include "libCylinder.h"
+#include "libSphere.h"
+#include "libStructureFactor.h"
+#include "libTwoPhase.h"
+
+/*This should not be necessary AJJ May 09*/
 /* IGOR Fit Functions */
+/*
 double CylinderForm(double dp[], double q);
 double EllipCyl76(double dp[], double q);
@@ -30,6 +38,16 @@
 double LamellarPS(double dp[], double q);
 double LamellarPS_HG(double dp[], double q);
+//
+double Lamellar_ParaCrystal(double dp[], double q);
+double Spherocylinder(double dp[], double q);
+double ConvexLens(double dp[], double q);
+double Dumbbell(double dp[], double q);
+double CappedCylinder(double dp[], double q);
+double Barbell(double dp[], double q);
+double PolyCoreBicelle(double dp[], double q);
+*/
 
 /* internal functions */
+/*
 double CylKernel(double qq, double rr,double h, double theta);
 double NR_BessJ1(double x);
@@ -51,7 +69,12 @@
 double CSCylIntegration(double qq, double rad, double radthick, double facthick, double rhoc, double rhos, double rhosolv, double length);
 double Stackdisc_kern(double qq, double rcore, double rhoc, double rhol, double rhosolv, double length, double thick, double dum, double gsd, double d, double N);
+double BicelleKernel(double qq, double rad, double radthick, double facthick, double rhoc, double rhoh, double rhor, double rhosolv, double length, double dum);
+double BicelleIntegration(double qq, double rad, double radthick, double facthick, double rhoc, double rhoh, double rhor, double rhosolv, double length);
+*/
+
 
 //
 /* IGOR Fit Functions */
+/*
 double MultiShell(double dp[], double q);
 double PolyMultiShell(double dp[], double q);
@@ -71,4 +94,16 @@
 double BinaryHS_PSF12(double dp[], double q);
 double BinaryHS_PSF22(double dp[], double q);
+//
+double OneShell(double dp[], double q);
+double TwoShell(double dp[], double q);
+double ThreeShell(double dp[], double q);
+double FourShell(double dp[], double q);
+double PolyOneShell(double dp[], double q);
+double PolyTwoShell(double dp[], double q);
+double PolyThreeShell(double dp[], double q);
+double PolyFourShell(double dp[], double q);
+double BCC_ParaCrystal(double dp[], double q);
+double FCC_ParaCrystal(double dp[], double q);
+double SC_ParaCrystal(double dp[], double q);
 
 //function prototypes
@@ -86,12 +121,13 @@
 double StickyHS_Struct(double dp[], double q);
 double HayterPenfoldMSA(double dp[], double q);
-double DiamCyl(double dp[], double q);//(double a, double b);
-double DiamEllip(double dp[], double q);//(double a, double b);
+double DiamCyl(double a, double b);
+double DiamEllip(double a, double b);
 double sqhcal(double qq);
 int sqfun(int ix, int ir);
 int sqcoef(int ir);
-
+*/
 ////
 /* IGOR Fit Functions */
+/*
 double TeubnerStreyModel(double dp[], double q);
 double Power_Law_Model(double dp[], double q);
@@ -105,3 +141,54 @@
 double ThreeLevel(double dp[], double q);
 double FourLevel(double dp[], double q);
+//
+double BroadPeak(double dp[], double q);
+double CorrLength(double dp[], double q);
+double TwoLorentzian(double dp[], double q);
+double TwoPowerLaw(double dp[], double q);
+double PolyGaussCoil(double dp[], double q);
+double GaussLorentzGel(double dp[], double q);
+double GaussianShell(double dp[], double q);
+*/
 
+// since the XOP and the library are separate chunks of compiled code
+// it is imperative to set ALL the structure alignments to be two-byte
+// rather than leave it to the whim of the compiler
+/* SRK08
+#include "XOPStructureAlignmentTwoByte.h"
+
+typedef struct {
+    double scale;
+    double radius;
+    double length;
+    double contrast;
+	double background;    
+    double cyl_theta;
+    double cyl_phi;    
+} CylinderParameters;
+
+typedef struct {
+    double scale;
+    double radius;
+    double length;
+    double contrast;
+	double background;
+    double cyl_theta;
+    double cyl_phi; 
+    double sigma_theta;
+    double sigma_phi;
+    double sigma_radius;
+} SmearCylinderParameters;
+
+#include "XOPStructureAlignmentReset.h"
+
+/// 1D scattering function
+double cylinder_analytical_1D(CylinderParameters *pars, double q);
+/// 2D scattering function
+double cylinder_analytical_2D(CylinderParameters *pars, double q, double phi);
+/// 1D scattering function
+double smeared_cylinder_analytical_1D(SmearCylinderParameters *pars, double q);
+/// 2D scattering function
+double dist_cylinder_2D(double pars[], double q, double phi);
+double smeared_cylinder_analytical_2D(SmearCylinderParameters *pars, double q, double phi);
+double smeared_cylinder_dist( double x, double mean, double sigma );
+*/
