Skip to content

Commit

Permalink
refs #4201 Attempt to flop rotation matrix
Browse files Browse the repository at this point in the history
results are not convincing
  • Loading branch information
abuts committed Jan 14, 2012
1 parent f2f221d commit 7b601c0
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -261,9 +261,9 @@ struct COORD_TRANSFORMER<modQ,MODE,CONV,Type>
double qy = -ey*k_tr;
double qz = ki - ez*k_tr;
// transformation matrix has to be here for "Crystal AS Powder conversion mode, further specialization possible if "powder" switch provided"
double Qx = (rotMat[0]*qx+rotMat[3]*qy+rotMat[6]*qz);
double Qy = (rotMat[1]*qx+rotMat[4]*qy+rotMat[7]*qz);
double Qz = (rotMat[2]*qx+rotMat[5]*qy+rotMat[8]*qz);
double Qx = (rotMat[0]*qx+rotMat[2]*qy+rotMat[3]*qz);
double Qy = (rotMat[3]*qx+rotMat[4]*qy+rotMat[5]*qz);
double Qz = (rotMat[6]*qx+rotMat[7]*qy+rotMat[8]*qz);

double Qsq = Qx*Qx+Qy*Qy+Qz*Qz;
if(Qsq < dim_min[0]||Coord[0]>=Qsq)return false;
Expand Down Expand Up @@ -352,9 +352,9 @@ struct COORD_TRANSFORMER<modQ,Elastic,CONV,Type>
double qy = -ey*k0;
double qz = (1 - ez)*k0;
// transformation matrix has to be here for "Crystal AS Powder mode, further specialization possible if "
double Qx = (rotMat[0]*qx+rotMat[3]*qy+rotMat[6]*qz);
double Qy = (rotMat[1]*qx+rotMat[4]*qy+rotMat[7]*qz);
double Qz = (rotMat[2]*qx+rotMat[5]*qy+rotMat[8]*qz);
double Qx = (rotMat[0]*qx+rotMat[1]*qy+rotMat[2]*qz);
double Qy = (rotMat[3]*qx+rotMat[4]*qy+rotMat[5]*qz);
double Qz = (rotMat[6]*qx+rotMat[7]*qy+rotMat[8]*qz);

double Qsq = Qx*Qx+Qy*Qy+Qz*Qz;
if(Coord[0]<dim_min[0]||Coord[0]>=dim_max[0])return false;
Expand Down Expand Up @@ -447,9 +447,9 @@ struct COORD_TRANSFORMER<Q3D,MODE,CONV,Type>
double qy = -ey*k_tr;
double qz = ki - ez*k_tr;

Coord[0] = (coord_t)(rotMat[0]*qx+rotMat[3]*qy+rotMat[6]*qz); if(Coord[0]<pHost->dim_min[0]||Coord[0]>=pHost->dim_max[0])return false;
Coord[1] = (coord_t)(rotMat[1]*qx+rotMat[4]*qy+rotMat[7]*qz); if(Coord[1]<pHost->dim_min[1]||Coord[1]>=pHost->dim_max[1])return false;
Coord[2] = (coord_t)(rotMat[2]*qx+rotMat[5]*qy+rotMat[8]*qz); if(Coord[2]<pHost->dim_min[2]||Coord[2]>=pHost->dim_max[2])return false;
Coord[0] = (coord_t)(rotMat[0]*qx+rotMat[1]*qy+rotMat[2]*qz); if(Coord[0]<pHost->dim_min[0]||Coord[0]>=pHost->dim_max[0])return false;
Coord[1] = (coord_t)(rotMat[3]*qx+rotMat[4]*qy+rotMat[5]*qz); if(Coord[1]<pHost->dim_min[1]||Coord[1]>=pHost->dim_max[1])return false;
Coord[2] = (coord_t)(rotMat[6]*qx+rotMat[7]*qy+rotMat[8]*qz); if(Coord[2]<pHost->dim_min[2]||Coord[2]>=pHost->dim_max[2])return false;

return true;
}
Expand Down Expand Up @@ -524,9 +524,9 @@ struct COORD_TRANSFORMER<Q3D,Elastic,CONV,Type>
double qy = -ey*k0;
double qz = ezm1*k0;

Coord[0] = (coord_t)(rotMat[0]*qx+rotMat[3]*qy+rotMat[6]*qz); if(Coord[0]<pHost->dim_min[0]||Coord[0]>=pHost->dim_max[0])return false;
Coord[1] = (coord_t)(rotMat[1]*qx+rotMat[4]*qy+rotMat[7]*qz); if(Coord[1]<pHost->dim_min[1]||Coord[1]>=pHost->dim_max[1])return false;
Coord[2] = (coord_t)(rotMat[2]*qx+rotMat[5]*qy+rotMat[8]*qz); if(Coord[2]<pHost->dim_min[2]||Coord[2]>=pHost->dim_max[2])return false;
Coord[0] = (coord_t)(rotMat[0]*qx+rotMat[1]*qy+rotMat[2]*qz); if(Coord[0]<pHost->dim_min[0]||Coord[0]>=pHost->dim_max[0])return false;
Coord[1] = (coord_t)(rotMat[3]*qx+rotMat[4]*qy+rotMat[5]*qz); if(Coord[1]<pHost->dim_min[1]||Coord[1]>=pHost->dim_max[1])return false;
Coord[2] = (coord_t)(rotMat[6]*qx+rotMat[7]*qy+rotMat[8]*qz); if(Coord[2]<pHost->dim_min[2]||Coord[2]>=pHost->dim_max[2])return false;

return true;
}
Expand Down
6 changes: 3 additions & 3 deletions Code/Mantid/Framework/MDAlgorithms/src/ConvertToMDEvents.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -885,9 +885,9 @@ default_dimension_names(4)
// for modQ transformation:
default_dimension_names[0]="|Q|";
// for Q3D transformation
default_dimension_names[1]="[q_h,0,0]";
default_dimension_names[2]="[0,q_k,0]";
default_dimension_names[3]="[0,0,q_l]";
default_dimension_names[1]="[Q_h,0,0]";
default_dimension_names[2]="[0,Q_k,0]";
default_dimension_names[3]="[0,0,Q_l]";

dE_modes[ANY_Mode] = ""; // no Q uses it to run without conversion.
dE_modes[Direct] = "Direct";
Expand Down

0 comments on commit 7b601c0

Please sign in to comment.