Index: sansmodels/src/sans/models/c_models/CCoreShellCylinderModel.cpp
===================================================================
--- sansmodels/src/sans/models/c_models/CCoreShellCylinderModel.cpp	(revision 35aface36aa7573475600ebbacb987f50386d5f8)
+++ sansmodels/src/sans/models/c_models/CCoreShellCylinderModel.cpp	(revision 4628e31d33c0fcf223d4c2cf0eb3acdf634737a2)
@@ -91,5 +91,5 @@
         // Initialize parameter dictionary
         PyDict_SetItemString(self->params,"scale",Py_BuildValue("d",1.000000000000));
-        PyDict_SetItemString(self->params,"axis_theta",Py_BuildValue("d",1.570000000000));
+        PyDict_SetItemString(self->params,"axis_theta",Py_BuildValue("d",90.000000000000));
         PyDict_SetItemString(self->params,"solvent_sld",Py_BuildValue("d",0.000001000000));
         PyDict_SetItemString(self->params,"thickness",Py_BuildValue("d",10.000000000000));
Index: sansmodels/src/sans/models/c_models/CCylinderModel.cpp
===================================================================
--- sansmodels/src/sans/models/c_models/CCylinderModel.cpp	(revision 35aface36aa7573475600ebbacb987f50386d5f8)
+++ sansmodels/src/sans/models/c_models/CCylinderModel.cpp	(revision 4628e31d33c0fcf223d4c2cf0eb3acdf634737a2)
@@ -92,10 +92,10 @@
         PyDict_SetItemString(self->params,"scale",Py_BuildValue("d",1.000000000000));
         PyDict_SetItemString(self->params,"sldCyl",Py_BuildValue("d",0.000004000000));
-        PyDict_SetItemString(self->params,"cyl_theta",Py_BuildValue("d",1.000000000000));
+        PyDict_SetItemString(self->params,"cyl_theta",Py_BuildValue("d",60.000000000000));
         PyDict_SetItemString(self->params,"length",Py_BuildValue("d",400.000000000000));
         PyDict_SetItemString(self->params,"sldSolv",Py_BuildValue("d",0.000001000000));
         PyDict_SetItemString(self->params,"background",Py_BuildValue("d",0.000000000000));
         PyDict_SetItemString(self->params,"radius",Py_BuildValue("d",20.000000000000));
-        PyDict_SetItemString(self->params,"cyl_phi",Py_BuildValue("d",1.000000000000));
+        PyDict_SetItemString(self->params,"cyl_phi",Py_BuildValue("d",60.000000000000));
         // Initialize dispersion / averaging parameter dict
         DispersionVisitor* visitor = new DispersionVisitor();
Index: sansmodels/src/sans/models/c_models/CEllipsoidModel.cpp
===================================================================
--- sansmodels/src/sans/models/c_models/CEllipsoidModel.cpp	(revision 35aface36aa7573475600ebbacb987f50386d5f8)
+++ sansmodels/src/sans/models/c_models/CEllipsoidModel.cpp	(revision 4628e31d33c0fcf223d4c2cf0eb3acdf634737a2)
@@ -91,5 +91,5 @@
         // Initialize parameter dictionary
         PyDict_SetItemString(self->params,"scale",Py_BuildValue("d",1.000000000000));
-        PyDict_SetItemString(self->params,"axis_theta",Py_BuildValue("d",1.570000000000));
+        PyDict_SetItemString(self->params,"axis_theta",Py_BuildValue("d",90.000000000000));
         PyDict_SetItemString(self->params,"radius_b",Py_BuildValue("d",400.000000000000));
         PyDict_SetItemString(self->params,"radius_a",Py_BuildValue("d",20.000000000000));
Index: sansmodels/src/sans/models/c_models/CEllipticalCylinderModel.cpp
===================================================================
--- sansmodels/src/sans/models/c_models/CEllipticalCylinderModel.cpp	(revision 35aface36aa7573475600ebbacb987f50386d5f8)
+++ sansmodels/src/sans/models/c_models/CEllipticalCylinderModel.cpp	(revision 4628e31d33c0fcf223d4c2cf0eb3acdf634737a2)
@@ -97,5 +97,5 @@
         PyDict_SetItemString(self->params,"sldSolv",Py_BuildValue("d",0.000001000000));
         PyDict_SetItemString(self->params,"background",Py_BuildValue("d",0.000000000000));
-        PyDict_SetItemString(self->params,"cyl_theta",Py_BuildValue("d",1.570000000000));
+        PyDict_SetItemString(self->params,"cyl_theta",Py_BuildValue("d",90.000000000000));
         PyDict_SetItemString(self->params,"r_ratio",Py_BuildValue("d",1.500000000000));
         PyDict_SetItemString(self->params,"cyl_phi",Py_BuildValue("d",0.000000000000));
Index: sansmodels/src/sans/models/c_models/CHollowCylinderModel.cpp
===================================================================
--- sansmodels/src/sans/models/c_models/CHollowCylinderModel.cpp	(revision 35aface36aa7573475600ebbacb987f50386d5f8)
+++ sansmodels/src/sans/models/c_models/CHollowCylinderModel.cpp	(revision 4628e31d33c0fcf223d4c2cf0eb3acdf634737a2)
@@ -93,5 +93,5 @@
         PyDict_SetItemString(self->params,"sldCyl",Py_BuildValue("d",0.000006300000));
         PyDict_SetItemString(self->params,"core_radius",Py_BuildValue("d",20.000000000000));
-        PyDict_SetItemString(self->params,"axis_theta",Py_BuildValue("d",1.570000000000));
+        PyDict_SetItemString(self->params,"axis_theta",Py_BuildValue("d",90.000000000000));
         PyDict_SetItemString(self->params,"length",Py_BuildValue("d",400.000000000000));
         PyDict_SetItemString(self->params,"axis_phi",Py_BuildValue("d",0.000000000000));
Index: sansmodels/src/sans/models/c_models/COblateModel.cpp
===================================================================
--- sansmodels/src/sans/models/c_models/COblateModel.cpp	(revision 35aface36aa7573475600ebbacb987f50386d5f8)
+++ sansmodels/src/sans/models/c_models/COblateModel.cpp	(revision 4628e31d33c0fcf223d4c2cf0eb3acdf634737a2)
@@ -93,7 +93,7 @@
         PyDict_SetItemString(self->params,"scale",Py_BuildValue("d",1.000000000000));
         PyDict_SetItemString(self->params,"minor_core",Py_BuildValue("d",20.000000000000));
-        PyDict_SetItemString(self->params,"axis_theta",Py_BuildValue("d",1.000000000000));
+        PyDict_SetItemString(self->params,"axis_theta",Py_BuildValue("d",57.325000000000));
         PyDict_SetItemString(self->params,"sld_solvent",Py_BuildValue("d",0.000006300000));
-        PyDict_SetItemString(self->params,"axis_phi",Py_BuildValue("d",1.000000000000));
+        PyDict_SetItemString(self->params,"axis_phi",Py_BuildValue("d",57.325000000000));
         PyDict_SetItemString(self->params,"background",Py_BuildValue("d",0.001000000000));
         PyDict_SetItemString(self->params,"major_shell",Py_BuildValue("d",250.000000000000));
Index: sansmodels/src/sans/models/c_models/CTriaxialEllipsoidModel.cpp
===================================================================
--- sansmodels/src/sans/models/c_models/CTriaxialEllipsoidModel.cpp	(revision 35aface36aa7573475600ebbacb987f50386d5f8)
+++ sansmodels/src/sans/models/c_models/CTriaxialEllipsoidModel.cpp	(revision 4628e31d33c0fcf223d4c2cf0eb3acdf634737a2)
@@ -92,9 +92,9 @@
         PyDict_SetItemString(self->params,"scale",Py_BuildValue("d",1.000000000000));
         PyDict_SetItemString(self->params,"axis_psi",Py_BuildValue("d",0.000000000000));
-        PyDict_SetItemString(self->params,"axis_theta",Py_BuildValue("d",1.000000000000));
+        PyDict_SetItemString(self->params,"axis_theta",Py_BuildValue("d",57.325000000000));
         PyDict_SetItemString(self->params,"semi_axisA",Py_BuildValue("d",35.000000000000));
         PyDict_SetItemString(self->params,"semi_axisB",Py_BuildValue("d",100.000000000000));
         PyDict_SetItemString(self->params,"semi_axisC",Py_BuildValue("d",400.000000000000));
-        PyDict_SetItemString(self->params,"axis_phi",Py_BuildValue("d",1.000000000000));
+        PyDict_SetItemString(self->params,"axis_phi",Py_BuildValue("d",57.325000000000));
         PyDict_SetItemString(self->params,"sldSolv",Py_BuildValue("d",0.000006300000));
         PyDict_SetItemString(self->params,"background",Py_BuildValue("d",0.000000000000));
Index: sansmodels/src/sans/models/c_models/barbell.cpp
===================================================================
--- sansmodels/src/sans/models/c_models/barbell.cpp	(revision 85bb87048005735e428588676cad765827cc1f95)
+++ sansmodels/src/sans/models/c_models/barbell.cpp	(revision 4628e31d33c0fcf223d4c2cf0eb3acdf634737a2)
@@ -198,5 +198,5 @@
 						}
 						if (weights_theta.size()>1) {
-							_ptvalue *= fabs(sin(weights_theta[l].value));
+							_ptvalue *= fabs(sin(weights_theta[l].value*pi/180.0));
 						}
 						sum += _ptvalue;
Index: sansmodels/src/sans/models/c_models/bcc.cpp
===================================================================
--- sansmodels/src/sans/models/c_models/bcc.cpp	(revision 85bb87048005735e428588676cad765827cc1f95)
+++ sansmodels/src/sans/models/c_models/bcc.cpp	(revision 4628e31d33c0fcf223d4c2cf0eb3acdf634737a2)
@@ -118,5 +118,5 @@
 	dp.phi    = phi();
 	dp.psi    = psi();
-
+	double pi = 4.0*atan(1.0);
 	// Get the dispersion points for the radius
 	vector<WeightPoint> weights_rad;
@@ -166,5 +166,5 @@
 					}
 					if (weights_theta.size()>1) {
-						_ptvalue *= fabs(sin(weights_theta[j].value));
+						_ptvalue *= fabs(sin(weights_theta[j].value*pi/180.0));
 					}
 					sum += _ptvalue;
Index: sansmodels/src/sans/models/c_models/capcyl.cpp
===================================================================
--- sansmodels/src/sans/models/c_models/capcyl.cpp	(revision 85bb87048005735e428588676cad765827cc1f95)
+++ sansmodels/src/sans/models/c_models/capcyl.cpp	(revision 4628e31d33c0fcf223d4c2cf0eb3acdf634737a2)
@@ -135,5 +135,4 @@
 	dp.theta  = theta();
 	dp.phi    = phi();
-
 
 	// Get the dispersion points for the rad_bar
@@ -198,5 +197,5 @@
 						}
 						if (weights_theta.size()>1) {
-							_ptvalue *= fabs(sin(weights_theta[l].value));
+							_ptvalue *= fabs(sin(weights_theta[l].value*pi/180.0));
 						}
 						sum += _ptvalue;
Index: sansmodels/src/sans/models/c_models/coreshellcylinder.cpp
===================================================================
--- sansmodels/src/sans/models/c_models/coreshellcylinder.cpp	(revision 85bb87048005735e428588676cad765827cc1f95)
+++ sansmodels/src/sans/models/c_models/coreshellcylinder.cpp	(revision 4628e31d33c0fcf223d4c2cf0eb3acdf634737a2)
@@ -45,5 +45,5 @@
 	solvent_sld= Parameter(1.e-6);
 	background = Parameter(0.0);
-	axis_theta = Parameter(0.0, true);
+	axis_theta = Parameter(90.0, true);
 	axis_phi   = Parameter(0.0, true);
 }
@@ -167,5 +167,5 @@
 	double norm_vol = 0.0;
 	double vol = 0.0;
-
+	double pi = 4.0*atan(1.0);
 	// Loop over radius weight points
 	for(int i=0; i<weights_rad.size(); i++) {
@@ -199,5 +199,5 @@
 
 					if (weights_theta.size()>1) {
-						_ptvalue *= fabs(sin(weights_theta[k].value));
+						_ptvalue *= fabs(sin(weights_theta[k].value*pi/180.0));
 					}
 					sum += _ptvalue;
Index: sansmodels/src/sans/models/c_models/csparallelepiped.cpp
===================================================================
--- sansmodels/src/sans/models/c_models/csparallelepiped.cpp	(revision 85bb87048005735e428588676cad765827cc1f95)
+++ sansmodels/src/sans/models/c_models/csparallelepiped.cpp	(revision 4628e31d33c0fcf223d4c2cf0eb3acdf634737a2)
@@ -188,4 +188,5 @@
 	double norm_vol = 0.0;
 	double vol = 0.0;
+	double pi = 4.0*atan(1.0);
 
 	// Loop over radius weight points
@@ -224,5 +225,5 @@
 
 							if (weights_parallel_theta.size()>1) {
-								_ptvalue *= fabs(sin(weights_parallel_theta[l].value));
+								_ptvalue *= fabs(sin(weights_parallel_theta[l].value*pi/180.0));
 							}
 							sum += _ptvalue;
Index: sansmodels/src/sans/models/c_models/cylinder.cpp
===================================================================
--- sansmodels/src/sans/models/c_models/cylinder.cpp	(revision 85bb87048005735e428588676cad765827cc1f95)
+++ sansmodels/src/sans/models/c_models/cylinder.cpp	(revision 4628e31d33c0fcf223d4c2cf0eb3acdf634737a2)
@@ -142,5 +142,5 @@
 	double norm_vol = 0.0;
 	double vol = 0.0;
-
+	double pi = 4.0*atan(1.0);
 	// Loop over radius weight points
 	for(int i=0; i<weights_rad.size(); i++) {
@@ -167,5 +167,5 @@
 						*pow(weights_rad[i].value,2)*weights_len[j].value;
 					if (weights_theta.size()>1) {
-						_ptvalue *= fabs(sin(weights_theta[k].value));
+						_ptvalue *= fabs(sin(weights_theta[k].value*pi/180.0));
 					}
 					sum += _ptvalue;
Index: sansmodels/src/sans/models/c_models/ellipsoid.cpp
===================================================================
--- sansmodels/src/sans/models/c_models/ellipsoid.cpp	(revision 85bb87048005735e428588676cad765827cc1f95)
+++ sansmodels/src/sans/models/c_models/ellipsoid.cpp	(revision 4628e31d33c0fcf223d4c2cf0eb3acdf634737a2)
@@ -42,5 +42,5 @@
 	sldSolv   = Parameter(1.e-6);
 	background = Parameter(0.0);
-	axis_theta  = Parameter(1.57, true);
+	axis_theta  = Parameter(57.325, true);
 	axis_phi    = Parameter(0.0, true);
 }
@@ -145,5 +145,5 @@
 	double norm_vol = 0.0;
 	double vol = 0.0;
-
+	double pi = 4.0*atan(1.0);
 	// Loop over radius weight points
 	for(int i=0; i<weights_rad_a.size(); i++) {
@@ -170,5 +170,5 @@
 						* pow(weights_rad_b[j].value,2) * weights_rad_a[i].value;
 					if (weights_theta.size()>1) {
-						_ptvalue *= fabs(sin(weights_theta[k].value));
+						_ptvalue *= fabs(sin(weights_theta[k].value*pi/180.0));
 					}
 					sum += _ptvalue;
Index: sansmodels/src/sans/models/c_models/ellipticalcylinder.cpp
===================================================================
--- sansmodels/src/sans/models/c_models/ellipticalcylinder.cpp	(revision 85bb87048005735e428588676cad765827cc1f95)
+++ sansmodels/src/sans/models/c_models/ellipticalcylinder.cpp	(revision 4628e31d33c0fcf223d4c2cf0eb3acdf634737a2)
@@ -44,5 +44,5 @@
 	sldSolv   = Parameter(1.e-6);
 	background = Parameter(0.0);
-	cyl_theta  = Parameter(1.57, true);
+	cyl_theta  = Parameter(57.325, true);
 	cyl_phi    = Parameter(0.0, true);
 	cyl_psi    = Parameter(0.0, true);
@@ -170,5 +170,5 @@
 	double norm_vol = 0.0;
 	double vol = 0.0;
-
+	double pi = 4.0*atan(1.0);
 	// Loop over minor radius weight points
 	for(int i=0; i<weights_rad.size(); i++) {
@@ -207,5 +207,5 @@
 						* weights_rat[m].value;
 					if (weights_theta.size()>1) {
-						_ptvalue *= fabs(sin(weights_theta[k].value));
+						_ptvalue *= fabs(sin(weights_theta[k].value*pi/180.0));
 					}
 					sum += _ptvalue;
Index: sansmodels/src/sans/models/c_models/fcc.cpp
===================================================================
--- sansmodels/src/sans/models/c_models/fcc.cpp	(revision 85bb87048005735e428588676cad765827cc1f95)
+++ sansmodels/src/sans/models/c_models/fcc.cpp	(revision 4628e31d33c0fcf223d4c2cf0eb3acdf634737a2)
@@ -140,5 +140,5 @@
 	double norm_vol = 0.0;
 	double vol = 0.0;
-
+	double pi = 4.0*atan(1.0);
 	// Loop over radius weight points
 	for(int i=0; i<weights_rad.size(); i++) {
@@ -165,5 +165,5 @@
 					}
 					if (weights_theta.size()>1) {
-						_ptvalue *= fabs(sin(weights_theta[j].value));
+						_ptvalue *= fabs(sin(weights_theta[j].value*pi/180.0));
 					}
 					sum += _ptvalue;
Index: sansmodels/src/sans/models/c_models/hollowcylinder.cpp
===================================================================
--- sansmodels/src/sans/models/c_models/hollowcylinder.cpp	(revision 85bb87048005735e428588676cad765827cc1f95)
+++ sansmodels/src/sans/models/c_models/hollowcylinder.cpp	(revision 4628e31d33c0fcf223d4c2cf0eb3acdf634737a2)
@@ -164,5 +164,5 @@
 	double norm_vol = 0.0;
 	double vol = 0.0;
-
+	double pi = 4.0*atan(1.0);
 	// Loop over core radius weight points
 	for(int i=0; i<(int)weights_core_radius.size(); i++) {
@@ -192,8 +192,8 @@
 						* weights_phi[l].weight
 						* hollow_cylinder_analytical_2DXY(&dp, qx, qy)
-						* (pow(weights_radius[m].value,2)-pow(weights_core_radius[i].value,2))
-						* weights_length[j].value;
+						/ ((pow(weights_radius[m].value,2)-pow(weights_core_radius[i].value,2))
+						* weights_length[j].value);
 					if (weights_theta.size()>1) {
-						_ptvalue *= fabs(sin(weights_theta[k].value));
+						_ptvalue *= fabs(sin(weights_theta[k].value * pi/180.0));
 					}
 					sum += _ptvalue;
@@ -201,5 +201,5 @@
 					vol += weights_core_radius[i].weight
 						* weights_length[j].weight
-						* weights_radius[k].weight
+						* weights_radius[m].weight
 						* (pow(weights_radius[m].value,2)-pow(weights_core_radius[i].value,2))
 						* weights_length[j].value;
@@ -223,8 +223,8 @@
 	// factor to account for the sin(theta) term in the
 	// integration (see documentation).
-	if (weights_theta.size()>1) norm = norm / asin(1.0);
-	if (vol != 0.0 && norm_vol != 0.0) {
+	if (weights_theta.size()>1) norm = norm/asin(1.0);
+	if (vol != 0.0 || norm_vol != 0.0) {
 		//Re-normalize by avg volume
-		sum = sum/(vol/norm_vol);}
+		sum = sum*(vol/norm_vol);}
 	return sum/norm + background();
 }
Index: sansmodels/src/sans/models/c_models/parallelepiped.cpp
===================================================================
--- sansmodels/src/sans/models/c_models/parallelepiped.cpp	(revision 85bb87048005735e428588676cad765827cc1f95)
+++ sansmodels/src/sans/models/c_models/parallelepiped.cpp	(revision 4628e31d33c0fcf223d4c2cf0eb3acdf634737a2)
@@ -172,5 +172,5 @@
 	double norm_vol = 0.0;
 	double vol = 0.0;
-
+	double pi = 4.0*atan(1.0);
 	// Loop over radius weight points
 	for(int i=0; i< (int)weights_short_a.size(); i++) {
@@ -208,5 +208,5 @@
 
 							if (weights_parallel_theta.size()>1) {
-								_ptvalue *= fabs(sin(weights_parallel_theta[l].value));
+								_ptvalue *= fabs(sin(weights_parallel_theta[l].value*pi/180.0));
 							}
 							sum += _ptvalue;
Index: sansmodels/src/sans/models/c_models/sc.cpp
===================================================================
--- sansmodels/src/sans/models/c_models/sc.cpp	(revision 85bb87048005735e428588676cad765827cc1f95)
+++ sansmodels/src/sans/models/c_models/sc.cpp	(revision 4628e31d33c0fcf223d4c2cf0eb3acdf634737a2)
@@ -140,5 +140,5 @@
 	double norm_vol = 0.0;
 	double vol = 0.0;
-
+	double pi = 4.0*atan(1.0);
 	// Loop over radius weight points
 	for(int i=0; i<weights_rad.size(); i++) {
@@ -165,5 +165,5 @@
 					}
 					if (weights_theta.size()>1) {
-						_ptvalue *= fabs(sin(weights_theta[j].value));
+						_ptvalue *= fabs(sin(weights_theta[j].value*pi/180.0));
 					}
 					sum += _ptvalue;
Index: sansmodels/src/sans/models/c_models/spheroid.cpp
===================================================================
--- sansmodels/src/sans/models/c_models/spheroid.cpp	(revision 85bb87048005735e428588676cad765827cc1f95)
+++ sansmodels/src/sans/models/c_models/spheroid.cpp	(revision 4628e31d33c0fcf223d4c2cf0eb3acdf634737a2)
@@ -209,5 +209,5 @@
 	double norm_vol = 0.0;
 	double vol = 0.0;
-
+	double pi = 4.0*atan(1.0);
 	// Loop over major core weight points
 	for(int i=0; i< (int)weights_equat_core.size(); i++) {
@@ -241,5 +241,5 @@
 								* pow(weights_equat_shell[k].value,2)*weights_polar_shell[l].value;
 							if (weights_theta.size()>1) {
-								_ptvalue *= fabs(sin(weights_theta[m].value));
+								_ptvalue *= fabs(sin(weights_theta[m].value*pi/180.0));
 							}
 							sum += _ptvalue;
Index: sansmodels/src/sans/models/c_models/triaxialellipsoid.cpp
===================================================================
--- sansmodels/src/sans/models/c_models/triaxialellipsoid.cpp	(revision 85bb87048005735e428588676cad765827cc1f95)
+++ sansmodels/src/sans/models/c_models/triaxialellipsoid.cpp	(revision 4628e31d33c0fcf223d4c2cf0eb3acdf634737a2)
@@ -44,6 +44,6 @@
 	sldSolv   = Parameter(6.3e-6);
 	background = Parameter(0.0);
-	axis_theta  = Parameter(1.0, true);
-	axis_phi    = Parameter(1.0, true);
+	axis_theta  = Parameter(57.325, true);
+	axis_phi    = Parameter(57.325, true);
 	axis_psi    = Parameter(0.0, true);
 }
@@ -166,5 +166,5 @@
 	double norm_vol = 0.0;
 	double vol = 0.0;
-
+	double pi = 4.0*atan(1.0);
 	// Loop over semi axis A weight points
 	for(int i=0; i< (int)weights_semi_axisA.size(); i++) {
@@ -199,5 +199,5 @@
 								* weights_semi_axisA[i].value*weights_semi_axisB[j].value*weights_semi_axisC[k].value;
 							if (weights_theta.size()>1) {
-								_ptvalue *= fabs(sin(weights_theta[k].value));
+								_ptvalue *= fabs(sin(weights_theta[k].value*pi/180.0));
 							}
 							sum += _ptvalue;
