| 28 |
#include "p_out_indexing.hh" |
#include "p_out_indexing.hh" |
| 29 |
#include "ControlParam.hh" |
#include "ControlParam.hh" |
| 30 |
#include "PeakPosData.hh" |
#include "PeakPosData.hh" |
| 31 |
#include "lattice_symmetry/LatticeFigureOfMeritToCheckSymmetry.hh" |
#include "lattice_symmetry/VCLatticeFigureOfMeritToCheckSymmetry.hh" |
| 32 |
#include "lattice_symmetry/LatticeFigureOfMeritToDisplay.hh" |
#include "lattice_symmetry/LatticeFigureOfMeritToDisplay.hh" |
| 33 |
#include "utility_func/covar_matrix.hh" |
#include "utility_func/covar_matrix.hh" |
| 34 |
#include "utility_func/zmath.hh" |
#include "utility_func/zmath.hh" |
| 35 |
#include "utility_lattice_reduction/matrix_4by4.hh" |
#include "utility_lattice_reduction/matrix_NbyN.hh" |
| 36 |
#include "utility_data_structure/Bud.hh" |
#include "utility_data_structure/Bud.hh" |
| 37 |
#include "utility_data_structure/Node3.hh" |
#include "utility_data_structure/Node3.hh" |
| 38 |
#include "utility_data_structure/qdata.hh" |
#include "utility_data_structure/qdata.hh" |
| 39 |
#include "utility_data_structure/SymMatWCovar.hh" |
#include "utility_data_structure/SymMatWCovar.hh" |
| 40 |
|
#include "utility_data_structure/VecDat3.hh" |
| 41 |
#include "lattice_symmetry/OutputInfo.hh" |
#include "lattice_symmetry/OutputInfo.hh" |
| 42 |
|
|
| 43 |
|
|
| 327 |
|
|
| 328 |
|
|
| 329 |
|
|
| 330 |
void printHKLdata(const vector<LatticeFigureOfMeritToCheckSymmetry> lattice_result[], |
void printHKLdata(const vector<VCLatticeFigureOfMeritToCheckSymmetry> lattice_result[], |
| 331 |
const OutputInfo outinfo[], |
const OutputInfo outinfo[], |
| 332 |
const eSortCriterion& sort_criterion, |
const eSortCriterion& sort_criterion, |
| 333 |
const ControlParam& cdata, |
const ControlParam& cdata, |
| 334 |
const PeakPosData& pdata, |
const PeakPosData& pdata, |
| 335 |
const string& fname) |
const string& fname) |
| 336 |
{ |
{ |
| 337 |
static const ArrayIndex NUM_LS = put_cs_num(); |
static const Int4 NUM_LS = put_number_of_bravais_types(); |
| 338 |
|
|
| 339 |
ofstream ofs(fname.c_str()); |
ofstream ofs(fname.c_str()); |
| 340 |
ostream *os; |
ostream *os; |
| 381 |
*os << "" << "VOL : unit-cell volume.\n"; |
*os << "" << "VOL : unit-cell volume.\n"; |
| 382 |
os->width(label_start); |
os->width(label_start); |
| 383 |
*os << "" << "Bravais Lattice : TNB"; |
*os << "" << "Bravais Lattice : TNB"; |
| 384 |
for(ArrayIndex i=0; i<putNumberOfSortCriterion(); i++) |
for(Int4 i=0; i<putNumberOfSortCriterion(); i++) |
| 385 |
{ |
{ |
| 386 |
*os << ", " << putLabel(eSortCriterion(i)); |
*os << ", " << putLabel(eSortCriterion(i)); |
| 387 |
} |
} |
| 388 |
*os << ", VOL\n"; |
*os << ", VOL\n"; |
| 389 |
|
|
| 390 |
for(ArrayIndex k=NUM_LS-1; k>=0; k--) |
for(Int4 k=NUM_LS-1; k>=0; k--) |
| 391 |
{ |
{ |
| 392 |
os->width(17); |
os->width(17); |
| 393 |
*os << put_cs_name(eCrystalSystem(k), cdata.putBaseCenteredAxis()) << " : "; |
*os << put_bravais_type_name(eBravaisType(k), cdata.putBaseCenteredAxis()) << " : "; |
| 394 |
os->width(7); |
os->width(7); |
| 395 |
*os << outinfo[k].putCandidateNumToOutput(); |
*os << outinfo[k].putCandidateNumToOutput(); |
| 396 |
|
|
| 397 |
const ArrayIndex& index = outinfo[k].putIndex( outinfo[k].putLatticeLabelSelectedFromListToOutput(sort_criterion) ); |
const Int4 index = outinfo[k].putIndex( outinfo[k].putLatticeLabelSelectedFromListToOutput(sort_criterion) ); |
| 398 |
if( index >= 0 ) |
if( index >= 0 ) |
| 399 |
{ |
{ |
| 400 |
const LatticeFigureOfMerit& lat_fom = lattice_result[k][index].putLatticeFigureOfMerit(); |
const LatticeFigureOfMerit& lat_fom = lattice_result[k][index].putLatticeFigureOfMerit(); |
| 401 |
const SetOfFigureOfMerit& set_fom = lat_fom.putFiguresOfMerit(); |
const LatticeFigureOfMerit::SetOfFigureOfMerit& set_fom = lat_fom.putFiguresOfMerit(); |
| 402 |
|
|
| 403 |
os->width(15); |
os->width(15); |
| 404 |
*os << set_fom.putFigureOfMeritWolff(); |
*os << set_fom.putFigureOfMeritWolff(); |
| 433 |
*os << "" << "-->\n\n"; |
*os << "" << "-->\n\n"; |
| 434 |
os->width(label_start); |
os->width(label_start); |
| 435 |
*os << "" << "<!-- Labels of the solution with the best figure of merit.\n"; |
*os << "" << "<!-- Labels of the solution with the best figure of merit.\n"; |
| 436 |
for(ArrayIndex k=NUM_LS-1; k>=0; k--) |
for(Int4 k=NUM_LS-1; k>=0; k--) |
| 437 |
{ |
{ |
| 438 |
os->width(18); |
os->width(18); |
| 439 |
*os << put_cs_name(eCrystalSystem(k), cdata.putBaseCenteredAxis()) << ", Best Score : Lattice constants, label.\n"; |
*os << put_bravais_type_name(eBravaisType(k), cdata.putBaseCenteredAxis()) << ", Best Score : Lattice constants, label.\n"; |
| 440 |
// if( lattice_result[k].empty() ) |
// if( lattice_result[k].empty() ) |
| 441 |
// { |
// { |
| 442 |
// *os << "\n"; |
// *os << "\n"; |
| 443 |
// continue; |
// continue; |
| 444 |
// } |
// } |
| 445 |
for(ArrayIndex i=0; i<putNumberOfSortCriterion(); i++) |
for(Int4 i=0; i<putNumberOfSortCriterion(); i++) |
| 446 |
{ |
{ |
| 447 |
os->width(15); |
os->width(15); |
| 448 |
*os << putLabel(eSortCriterion(i)) << " = "; |
*os << putLabel(eSortCriterion(i)) << " = "; |
| 449 |
|
|
| 450 |
const ArrayIndex index = outinfo[k].putIndex( outinfo[k].putLatticeLabelSelectedAmongAll(eSortCriterion(i)) ); |
const Int4 index = outinfo[k].putIndex( outinfo[k].putLatticeLabelSelectedAmongAll(eSortCriterion(i)) ); |
| 451 |
os->width(12); |
os->width(12); |
| 452 |
if( index >= 0 ) |
if( index >= 0 ) |
| 453 |
{ |
{ |
| 454 |
const LatticeFigureOfMerit& lat_fom = lattice_result[k][index].putLatticeFigureOfMerit(); |
const LatticeFigureOfMerit& lat_fom = lattice_result[k][index].putLatticeFigureOfMerit(); |
| 455 |
const SetOfFigureOfMerit& set_fom = lat_fom.putFiguresOfMerit(); |
const LatticeFigureOfMerit::SetOfFigureOfMerit& set_fom = lat_fom.putFiguresOfMerit(); |
| 456 |
|
|
| 457 |
if( eSortCriterion(i) == SCM ) |
if( eSortCriterion(i) == SCM ) |
| 458 |
{ |
{ |
| 515 |
os->width(label_start); |
os->width(label_start); |
| 516 |
*os << "" << "-->\n\n"; |
*os << "" << "-->\n\n"; |
| 517 |
|
|
| 518 |
pair<eCrystalSystem, lattice_label> selected_lattice_info = put_selected_lattice_from_all(lattice_result, outinfo, sort_criterion); |
pair<eBravaisType, lattice_label> selected_lattice_info = put_selected_lattice_from_all(lattice_result, outinfo, sort_criterion); |
| 519 |
const ArrayIndex selected_lattice_index = outinfo[selected_lattice_info.first].putIndex(selected_lattice_info.second); |
const Int4 selected_lattice_index = outinfo[selected_lattice_info.first].putIndex(selected_lattice_info.second); |
| 520 |
|
|
| 521 |
if( selected_lattice_index >= 0 ) |
if( selected_lattice_index >= 0 ) |
| 522 |
{ |
{ |
| 523 |
const LatticeFigureOfMeritToCheckSymmetry& selected_lattice = lattice_result[selected_lattice_info.first][selected_lattice_index]; |
const VCLatticeFigureOfMeritToCheckSymmetry& selected_lattice = lattice_result[selected_lattice_info.first][selected_lattice_index]; |
| 524 |
|
|
| 525 |
os->width(label_start); |
os->width(label_start); |
| 526 |
*os << "" << "<!-- Information on the selected candidates.-->\n"; |
*os << "" << "<!-- Information on the selected candidates.-->\n"; |
| 529 |
*os << "" << "<SelectedLatticeCandidate number=\"" << selected_lattice.putStringLabel() << "\">\n"; |
*os << "" << "<SelectedLatticeCandidate number=\"" << selected_lattice.putStringLabel() << "\">\n"; |
| 530 |
label_start++; |
label_start++; |
| 531 |
|
|
| 532 |
selected_lattice.printLatticeInformation(lattice_result, outinfo, cdata.putBaseCenteredAxis(), cdata.putRhombohedralAxis(), label_start, os); |
selected_lattice.printLatticeInformation(lattice_result, outinfo, |
| 533 |
|
cdata.putBaseCenteredAxis(), cdata.putRhombohedralAxis(), |
| 534 |
|
cdata.putResolution(), label_start, os); |
| 535 |
|
|
| 536 |
label_start--; |
label_start--; |
| 537 |
os->width(label_start); |
os->width(label_start); |
| 538 |
*os << "" << "</SelectedLatticeCandidate>\n\n"; |
*os << "" << "</SelectedLatticeCandidate>\n\n"; |
| 539 |
} |
} |
| 540 |
|
|
| 541 |
for(ArrayIndex k=NUM_LS-1; k>=0; k--) |
for(Int4 k=NUM_LS-1; k>=0; k--) |
| 542 |
{ |
{ |
| 543 |
*os << "\n"; |
*os << "\n"; |
| 544 |
os->width(label_start); |
os->width(label_start); |
| 545 |
*os << "" << "<!-- Candidates for " << put_cs_name(eCrystalSystem(k), cdata.putBaseCenteredAxis()) << " -->\n\n"; |
*os << "" << "<!-- Candidates for " << put_bravais_type_name(eBravaisType(k), cdata.putBaseCenteredAxis()) << " -->\n\n"; |
| 546 |
|
|
| 547 |
const Int4 num_topo = lattice_result[k].size(); |
const Int4 num_topo = lattice_result[k].size(); |
| 548 |
|
|
| 549 |
for(Int4 n=0; n<num_topo; n++) |
for(Int4 n=0; n<num_topo; n++) |
| 550 |
{ |
{ |
| 551 |
const LatticeFigureOfMeritToCheckSymmetry& ans = lattice_result[k][n]; |
const VCLatticeFigureOfMeritToCheckSymmetry& ans = lattice_result[k][n]; |
| 552 |
if( !outinfo[k].IsOutput(ans.putLatticeLabel()) ) continue; |
if( !outinfo[k].IsOutput(ans.putLatticeLabel()) ) continue; |
| 553 |
|
|
| 554 |
os->width(label_start); |
os->width(label_start); |
| 555 |
*os << "" << "<LatticeCandidate number=\"" << ans.putStringLabel() << "\">\n"; |
*os << "" << "<LatticeCandidate number=\"" << ans.putStringLabel() << "\">\n"; |
| 556 |
label_start++; |
label_start++; |
| 557 |
ans.printLatticeInformation(lattice_result, outinfo, cdata.putBaseCenteredAxis(), cdata.putRhombohedralAxis(), label_start, os); |
ans.printLatticeInformation(lattice_result, outinfo, cdata.putBaseCenteredAxis(), cdata.putRhombohedralAxis(), |
| 558 |
|
0.06, label_start, os); |
| 559 |
|
|
| 560 |
label_start--; |
label_start--; |
| 561 |
os->width(label_start); |
os->width(label_start); |
| 611 |
os->width(label_start); |
os->width(label_start); |
| 612 |
*os << "" << "<LatticeCandidate>\n"; |
*os << "" << "<LatticeCandidate>\n"; |
| 613 |
label_start++; |
label_start++; |
| 614 |
ans.printLatticeInformation(cdata.putBaseCenteredAxis(), cdata.putRhombohedralAxis(), label_start, os); |
ans.printLatticeInformation(cdata.putBaseCenteredAxis(), cdata.putRhombohedralAxis(), |
| 615 |
|
cdata.putResolution(), label_start, os); |
| 616 |
lattice_result[n].printIndexingResult(cdata, pdata, label_start, os); |
lattice_result[n].printIndexingResult(cdata, pdata, label_start, os); |
| 617 |
|
|
| 618 |
label_start--; |
label_start--; |
| 632 |
|
|
| 633 |
|
|
| 634 |
|
|
| 635 |
|
|
| 636 |
void printPeakPosition( |
void printPeakPosition( |
| 637 |
const ControlParam& cdata, |
const ControlParam& cdata, |
| 638 |
const PeakPosData& pdata, |
const PeakPosData& pdata, |
|
const eABCaxis& axis1, const eRHaxis& axis2, |
|
| 639 |
const LatticeFigureOfMeritToDisplay& latfit, |
const LatticeFigureOfMeritToDisplay& latfit, |
| 640 |
|
const vector<LatticeFigureOfMerit>& lattices_same_q, |
| 641 |
const string& fname) |
const string& fname) |
| 642 |
{ |
{ |
| 643 |
ofstream ofs(fname.c_str()); |
ofstream ofs(fname.c_str()); |
| 648 |
|
|
| 649 |
pdata.printData(os); |
pdata.printData(os); |
| 650 |
|
|
| 651 |
// const Int4 isize = latfit.size(); |
*os << "WAVES/O dphase_0, xphase_0, yphase_0, h_0, k_0, l_0\n"; |
| 652 |
|
|
| 653 |
|
*os << "BEGIN\n"; |
| 654 |
|
|
| 655 |
|
const vector<HKL_Q>& cal_hkl_tray = latfit.putCalMillerIndices(); |
| 656 |
|
Vec_DP cal_pos_tray; |
| 657 |
|
latfit.putCalculatedPeakPosInRange(cdata, cal_pos_tray); |
| 658 |
|
|
| 659 |
|
const Int4 peak_num = cal_hkl_tray.size(); |
| 660 |
|
|
| 661 |
|
for (Int4 i=0; i<peak_num; i++) |
| 662 |
|
{ |
| 663 |
|
os->width(15); |
| 664 |
|
*os << 1.0 / sqrt( cal_hkl_tray[i].Q() ); |
| 665 |
|
|
| 666 |
|
os->width(15); |
| 667 |
|
if( cal_pos_tray[i] < 0.0 ) |
| 668 |
|
{ |
| 669 |
|
*os << "NAN"; |
| 670 |
|
} |
| 671 |
|
else |
| 672 |
|
{ |
| 673 |
|
*os << cal_pos_tray[i]; |
| 674 |
|
} |
| 675 |
|
os->width(15); |
| 676 |
|
*os << 0.0; |
| 677 |
|
|
| 678 |
|
const VecDat3<Int4>& hkl = cal_hkl_tray[i].HKL(); |
| 679 |
|
|
| 680 |
|
os->width(5); |
| 681 |
|
*os << hkl[0]; |
| 682 |
|
os->width(5); |
| 683 |
|
*os << hkl[1]; |
| 684 |
|
os->width(5); |
| 685 |
|
*os << hkl[2]; |
| 686 |
|
|
| 687 |
|
*os << endl; |
| 688 |
|
} |
| 689 |
|
*os << "END\n\n"; |
| 690 |
|
|
| 691 |
|
LatticeFigureOfMeritToDisplay latfit2; |
| 692 |
|
latfit2.setPeakShiftParamDegree(latfit.putPeakShiftFunctionType(), latfit.putWaveLength(), |
| 693 |
|
latfit.putPeakShiftParamDegree(), pdata); |
| 694 |
|
|
| 695 |
for (Int4 j=0, j1=1; j<1; j++, j1++) |
const Int4 isize = lattices_same_q.size(); |
| 696 |
|
for (Int4 j=0, j2=1; j<isize; j++, j2++) |
| 697 |
{ |
{ |
| 698 |
*os << "WAVES/O dphase_" << j1 << ", xphase_" << j1 << ", yphase_" << j1 << ", "; |
VecDat3<Double> length_axis, angle_axis; |
| 699 |
*os << "h_" << j1 << ", "; |
lattices_same_q[j].putReducedLatticeConstantsDegree(cdata.putBaseCenteredAxis(), cdata.putRhombohedralAxis(), length_axis, angle_axis); |
| 700 |
*os << "k_" << j1 << ", "; |
|
| 701 |
*os << "l_" << j1; |
latfit2.setLatticeConstantsDegree(lattices_same_q[j].enumBravaisType(), cdata.putBaseCenteredAxis(), cdata.putRhombohedralAxis(), length_axis, angle_axis); |
| 702 |
|
latfit2.resetMillerIndicesInRange(cdata.putNumberOfReflectionsForFigureOfMerit()); |
| 703 |
|
|
| 704 |
|
|
| 705 |
|
*os << "WAVES/O dphase_" << j2 << ", xphase_" << j2 << ", yphase_" << j2 << ", "; |
| 706 |
|
*os << "h_" << j2 << ", "; |
| 707 |
|
*os << "k_" << j2 << ", "; |
| 708 |
|
*os << "l_" << j2; |
| 709 |
*os << endl; |
*os << endl; |
| 710 |
|
|
| 711 |
*os << "BEGIN\n"; |
*os << "BEGIN\n"; |
| 712 |
|
|
| 713 |
const vector<HKL_Q>& cal_hkl_tray = latfit.putCalMillerIndices(); |
const vector<HKL_Q>& cal_hkl_tray = latfit2.putCalMillerIndices(); |
| 714 |
Vec_DP cal_pos_tray; |
Vec_DP cal_pos_tray; |
| 715 |
latfit.putCalculatedPeakPosInRange(cdata, cal_pos_tray); |
latfit2.putCalculatedPeakPosInRange(cdata, cal_pos_tray); |
| 716 |
|
|
| 717 |
const Int4 peak_num = cal_hkl_tray.size(); |
const Int4 peak_num = cal_hkl_tray.size(); |
| 718 |
|
|
| 760 |
*os << "X ModifyGraph mode(height)=3,marker(height)=17\n"; |
*os << "X ModifyGraph mode(height)=3,marker(height)=17\n"; |
| 761 |
*os << "X ModifyGraph rgb(height)=(0,65280,65280)\n"; |
*os << "X ModifyGraph rgb(height)=(0,65280,65280)\n"; |
| 762 |
|
|
| 763 |
for (Int4 j=0, j1=1; j<1; j++, j1++) |
Double offset = 0.0; |
| 764 |
|
const Double offset_gap = pdata.putMaxPeakHeightOfFirst20() * (-0.05); |
| 765 |
|
for (Int4 j=0; j<isize+1; j++, offset+=offset_gap) |
| 766 |
{ |
{ |
| 767 |
*os << "X AppendToGraph yphase_" << j1 << " vs xphase_" << j1 << endl; |
*os << "X AppendToGraph yphase_" << j << " vs xphase_" << j << endl; |
| 768 |
*os << "X ModifyGraph offset(yphase_" << j1 << ")={0,0},mode(yphase_" << j1 << ")=3,marker(yphase_" << j1; |
*os << "X ModifyGraph offset(yphase_" << j << ")={0," << offset << "},mode(yphase_" << j << ")=3,marker(yphase_" << j; |
| 769 |
*os << ")=10,msize(yphase_" << j1 << ")=3,mrkThick(yphase_" << j1 << ")=0.6,rgb(yphase_" << j1 << ")=(3,52428,1)" << endl; |
*os << ")=10,msize(yphase_" << j << ")=3,mrkThick(yphase_" << j << ")=0.6,rgb(yphase_" << j << ")=(3,52428,1)" << endl; |
| 770 |
|
if( j <= 0 ) offset+=offset_gap; |
| 771 |
} |
} |
| 772 |
|
|
| 773 |
*os << "X Legend/C/N=text0/J/A=MC \""; |
*os << "X Legend/C/N=text0/J/A=MC \""; |
| 774 |
*os << "\\s(yphase_" << 1 << ") " |
*os << "\\s(yphase_" << 0 << ") " |
| 775 |
+ put_cs_name(latfit.putLatticeFigureOfMerit().enumCrystalSystem(), cdata.putBaseCenteredAxis()) + " " |
+ put_bravais_type_name(latfit.putLatticeFigureOfMerit().enumBravaisType(), cdata.putBaseCenteredAxis()) + " " |
| 776 |
+ latfit.putLatticeFigureOfMerit().printOptimizedLatticeConstants(cdata.putBaseCenteredAxis(), cdata.putRhombohedralAxis(), 3); |
+ latfit.putLatticeFigureOfMerit().printOptimizedLatticeConstants(cdata.putBaseCenteredAxis(), cdata.putRhombohedralAxis(), 3); |
| 777 |
*os << "\"\nX Legend/C/N=text0/J/A=RT/X=0.00/Y=0.00"; |
for (Int4 j=0, j2=1; j<isize; j++, j2++) |
| 778 |
|
{ |
| 779 |
|
*os << "\\r\\s(yphase_" << j2 << ") " |
| 780 |
|
+ put_bravais_type_name(lattices_same_q[j].enumBravaisType(), cdata.putBaseCenteredAxis()) + " " |
| 781 |
|
+ lattices_same_q[j].printOptimizedLatticeConstants(cdata.putBaseCenteredAxis(), cdata.putRhombohedralAxis(), 3); |
| 782 |
|
} |
| 783 |
|
*os << "\"\nX Legend/C/N=text0/J/A=RT/X=0.00/Y=0.00\n"; |
| 784 |
|
|
| 785 |
ofs.close(); |
ofs.close(); |
| 786 |
} |
} |
| 790 |
void printPeakPosition( |
void printPeakPosition( |
| 791 |
const ControlParam& cdata, |
const ControlParam& cdata, |
| 792 |
const PeakPosData& pdata, |
const PeakPosData& pdata, |
|
const eABCaxis& axis1, const eRHaxis& axis2, |
|
| 793 |
const vector<LatticeFigureOfMeritToDisplay>& latfit_tray, |
const vector<LatticeFigureOfMeritToDisplay>& latfit_tray, |
|
const Double& offset_first, |
|
| 794 |
const string& fname) |
const string& fname) |
| 795 |
{ |
{ |
| 796 |
ofstream ofs(fname.c_str()); |
ofstream ofs(fname.c_str()); |
| 866 |
*os << "X ModifyGraph mode(height)=3,marker(height)=17\n"; |
*os << "X ModifyGraph mode(height)=3,marker(height)=17\n"; |
| 867 |
*os << "X ModifyGraph rgb(height)=(0,65280,65280)\n"; |
*os << "X ModifyGraph rgb(height)=(0,65280,65280)\n"; |
| 868 |
|
|
| 869 |
const Double width = pdata.putAveragePeakHeightOfFirst20() * 0.3; |
Double offset = 0.0; |
| 870 |
Double offset = offset_first; |
const Double offset_gap = pdata.putMaxPeakHeightOfFirst20() * (-0.05); |
| 871 |
for (Int4 j=0, j1=1; j<isize; j++, j1++) |
for (Int4 j=0, j1=1; j<isize; j++, j1++, offset+=offset_gap) |
| 872 |
{ |
{ |
| 873 |
*os << "X AppendToGraph yphase_" << j1 << " vs xphase_" << j1 << endl; |
*os << "X AppendToGraph yphase_" << j1 << " vs xphase_" << j1 << endl; |
| 874 |
*os << "X ModifyGraph offset(yphase_" << j1 << ")={0," << offset << "},mode(yphase_" << j1 << ")=3,marker(yphase_" << j1; |
*os << "X ModifyGraph offset(yphase_" << j1 << ")={0," << offset << "},mode(yphase_" << j1 << ")=3,marker(yphase_" << j1; |
| 875 |
*os << ")=10,msize(yphase_" << j1 << ")=3,mrkThick(yphase_" << j1 << ")=0.6,rgb(yphase_" << j1 << ")=(3,52428,1)" << endl; |
*os << ")=10,msize(yphase_" << j1 << ")=3,mrkThick(yphase_" << j1 << ")=0.6,rgb(yphase_" << j1 << ")=(3,52428,1)" << endl; |
|
offset -= width; |
|
| 876 |
} |
} |
| 877 |
|
|
| 878 |
*os << "X Legend/C/N=text0/J/A=MC \""; |
*os << "X Legend/C/N=text0/J/A=MC \""; |
| 879 |
*os << "\\s(yphase_" << 1 << ") " |
*os << "\\s(yphase_" << 1 << ") " |
| 880 |
+ put_cs_name(latfit_tray[0].putLatticeFigureOfMerit().enumCrystalSystem(), cdata.putBaseCenteredAxis()) + " " |
+ put_bravais_type_name(latfit_tray[0].putLatticeFigureOfMerit().enumBravaisType(), cdata.putBaseCenteredAxis()) + " " |
| 881 |
+ latfit_tray[0].putLatticeFigureOfMerit().printOptimizedLatticeConstants(cdata.putBaseCenteredAxis(), cdata.putRhombohedralAxis(), 3); |
+ latfit_tray[0].putLatticeFigureOfMerit().printOptimizedLatticeConstants(cdata.putBaseCenteredAxis(), cdata.putRhombohedralAxis(), 3); |
| 882 |
for (Int4 j=1, j1=2; j<isize; j++, j1++) |
for (Int4 j=1, j1=2; j<isize; j++, j1++) |
| 883 |
{ |
{ |
| 884 |
*os << "\\r\\s(yphase_" << j1 << ") " |
*os << "\\r\\s(yphase_" << j1 << ") " |
| 885 |
+ put_cs_name(latfit_tray[j].putLatticeFigureOfMerit().enumCrystalSystem(), cdata.putBaseCenteredAxis()) + " " |
+ put_bravais_type_name(latfit_tray[j].putLatticeFigureOfMerit().enumBravaisType(), cdata.putBaseCenteredAxis()) + " " |
| 886 |
+ latfit_tray[j].putLatticeFigureOfMerit().printOptimizedLatticeConstants(cdata.putBaseCenteredAxis(), cdata.putRhombohedralAxis(), 3); |
+ latfit_tray[j].putLatticeFigureOfMerit().printOptimizedLatticeConstants(cdata.putBaseCenteredAxis(), cdata.putRhombohedralAxis(), 3); |
| 887 |
} |
} |
| 888 |
*os << "\"\nX Legend/C/N=text0/J/A=RT/X=0.00/Y=0.00"; |
*os << "\"\nX Legend/C/N=text0/J/A=RT/X=0.00/Y=0.00\n"; |
| 889 |
|
|
| 890 |
ofs.close(); |
ofs.close(); |
| 891 |
} |
} |