diff --git a/src/external/MuSRFitGUI/MSR.pm b/src/external/MuSRFitGUI/MSR.pm index 160e693d..1232b5c7 100755 --- a/src/external/MuSRFitGUI/MSR.pm +++ b/src/external/MuSRFitGUI/MSR.pm @@ -99,7 +99,7 @@ sub CreateMSR { # should be checked in GUI # for 2 simple asymmetry fit # for 4 two run blocks with different geometric parameters: - # Alpha, N0, NBg, Phi, Asy + # Alpha, No, NBg, Phi, Asy my @TiVals = split( /,/, $All{"Tis"} ); my @TfVals = split( /,/, $All{"Tfs"} ); @@ -451,9 +451,9 @@ STATISTIC --- 0000-00-00 00:00:00 return($Full_T_Block,\@Paramcomp); } -######################## +########################################################################## # CreateMSRSingleHist -######################## +########################################################################## sub CreateMSRSingleHist { my %All = %{$_[0]}; @@ -533,7 +533,7 @@ FUNCTIONS if ( $#RUNS == 0 && $#Hists == 0) { my $shcount = 1; } else { - if ( $All{"Sh_N0"} == 1 ) { + if ( $All{"Sh_No"} == 1 ) { my $shcount = 1; } elsif ( $All{"Sh_NBg"} == 1 ) { my $shcount = 1; @@ -569,8 +569,8 @@ FUNCTIONS # How many non-shared parameter for this RUN? my $nonsh = 0; - # Prepeare N0/NBg line for the RUN block. Empty initially. - my $N0Bg_Line = $EMPTY; + # Prepeare No/NBg line for the RUN block. Empty initially. + my $NoBg_Line = $EMPTY; # Loop over all components in the fit foreach my $FitType (@FitTypes) { @@ -578,15 +578,15 @@ FUNCTIONS my $Parameters = $Paramcomp[ $component - 1 ]; my @Params = split( /\s+/, $Parameters ); - # For the first component we need N0 and NBg for SingleHist fits - if ( $component == 1 && $All{"FitAsyType"} eq "SingleHist" ) { - unshift( @Params, ( "N0", "NBg" ) ); + # For the first component we need No and NBg for SingleHist fits + if ( $component == 1 ) { + unshift( @Params, ( "No", "NBg" ) ); } foreach $Param (@Params) { $Param_ORG = $Param; $Param=$Param.$Hist; - if ( ($#FitTypes != 0) && ( $Param ne "N0" && $Param ne "NBg" ) ) { + if ( ($#FitTypes != 0) && ( $Param ne "No" && $Param ne "NBg" ) ) { $Param = join( $EMPTY, $Param, "_", "$component" ); } @@ -599,35 +599,35 @@ FUNCTIONS $Shared = $All{"Sh_$Param"}; } - # N0 and NBg Lines + # No and NBg Lines # - # If you encounter N0 in the parameters list make sure + # If you encounter No in the parameters list make sure # to fill this line for the RUN block. - if ( $Param_ORG eq "N0" ) { + if ( $Param_ORG eq "No" ) { if ($Shared) { - $N0Bg_Line = "norm 1\n"; + $NoBg_Line = "norm 1\n"; } else { - $N0Bg_Line = "norm $PCount\n"; + $NoBg_Line = "norm $PCount\n"; } # Optional - add lifetime correction for SingleHist fits if ( $All{"ltc"} eq "y" ) { - $N0Bg_Line = $N0Bg_Line . "lifetimecorrection\n"; + $NoBg_Line = $NoBg_Line . "lifetimecorrection\n"; } } # If you encounter NBg in the parameters list make sure # to fill this line for the RUN block. elsif ( $Param_ORG eq "NBg" ) { if ($Shared) { - $N0Bg_Line = $N0Bg_Line . "backgr.fit 2\n"; + $NoBg_Line = $NoBg_Line . "backgr.fit 2\n"; } else { - $N0Bg_Line = $N0Bg_Line . "backgr.fit $PCount\n"; + $NoBg_Line = $NoBg_Line . "backgr.fit $PCount\n"; } } - # End of N0 and NBg Lines + # End of No and NBg Lines #################################################################################################### # Start preparing the parameters block @@ -641,7 +641,7 @@ FUNCTIONS } else { # Parameter is not shared, use map unless it is a single RUN fit # Skip adding to map line in these cases - if ( $Param ne "N0" && $Param ne "NBg" && ($#RUNS != 0 || $#Hist != 0)) { + if ( $Param ne "No" && $Param ne "NBg" && ($#RUNS != 0 || $#Hist != 0)) { ++$nonsh; $Full_T_Block =~ s/$Param_ORG/map$nonsh/; $MAP_Line = join( ' ', $MAP_Line, $PCount ); @@ -657,7 +657,7 @@ FUNCTIONS # For each defined range we need a block in the RUN-Block # Also for each histogram in Single Histograms fits - # Also for Imaginaryand and Real for RRF fits + # Also for Imaginary and and Real for RRF fits $RUN = $RUNS[ $iRun - 1 ]; @@ -694,7 +694,7 @@ FUNCTIONS $Tmp_Hist_Line = $Hist_Lines; $Tmp_Hist_Line =~ s/HIST/$Hist/g; $Single_RUN = $Single_RUN - . "$RUN_Line\n$Type_Line\n$N0Bg_Line$Tmp_Hist_Line\n$Data_Line\n$MAP_Line\n$FRANGE_Line\n$PAC_Line\n\n"; + . "$RUN_Line\n$Type_Line\n$NoBg_Line$Tmp_Hist_Line\n$Data_Line\n$MAP_Line\n$FRANGE_Line\n$PAC_Line\n\n"; # Now add the appropriate values of fit range and packing my $Range_Min = 8; @@ -851,8 +851,8 @@ sub CreateTheory { "generExpo", "Lam Bet", "simpleGss", "Sgm", "statGssKT", "Sgm", - "statGssKTLF", "Frq Sgm", - "dynGssKTLF", "Frq Sgm Lam", + "statGssKTLF", "Frqg Sgm", + "dynGssKTLF", "Frql Sgm Lam", "statExpKT", "Lam", "statExpKTLF", "Frq Aa", "dynExpKTLF", "Frq Aa Lam", @@ -1019,6 +1019,18 @@ sub CreateTheory { $Parameters = join( $SPACE, $Parameters, $THEORY{'statGssKTLF'} ); } + # Lorentzian or Gaussian KT LF multiplied by stretched exponential + elsif ( $FitType eq "MolMag" ) { + $T_Block = $T_Block . "\n" . "generExpo " . $THEORY{'generExpo'}; + $Parameters = join( $SPACE, $Parameters, $THEORY{'generExpo'} ); + $T_Block = + $T_Block . "\n" . "statExpKTLF " . $THEORY{'statExpKTLF'}; + $Parameters = join( $SPACE, $Parameters, $THEORY{'statExpKTLF'} ); + $T_Block = + $T_Block . "\n" . "statGssKTLF " . $THEORY{'statGssKTLF'}; + $Parameters = join( $SPACE, $Parameters, $THEORY{'statGssKTLF'} ); + } + # Meissner state model elsif ( $FitType eq "Meissner" ) { $T_Block = $T_Block . "\n" . "simpleGss " . $THEORY{'simpleGss'}; @@ -1145,8 +1157,8 @@ sub PrepParamTable { "Asy_min", "0", "Asy_max", "0", "Alpha", "1.0", "dAlpha", "0.01", "Alpha_min", "0", "Alpha_max", "0", - "N0", "300.0", "dN0", "0.01", - "N0_min", "0", "N0_max", "0", + "No", "300.0", "dNo", "0.01", + "No_min", "0", "No_max", "0", "NBg", "30.0", "dNBg", "0.01", "NBg_min", "0", "NBg_max", "0", "Lam", "1.0", "dLam", "0.01", @@ -1281,7 +1293,7 @@ sub PrepParamTable { my $Parameters=$Paramcomp[$Component-1]; my @Params = split( /\s+/, $Parameters ); if ( $Component == 1 ) { - unshift( @Params, ( "N0", "NBg" ) ); + unshift( @Params, ( "No", "NBg" ) ); } # This is the counter for parameters of this component @@ -1293,7 +1305,7 @@ sub PrepParamTable { # If multiple histograms (sum or difference) take the first histogram only ($Hist,$tmp) = split(/ /,$Hist); $Param=$Param.$Hist; - if ( $#FitTypes != 0 && ( $Param_ORG ne "N0" && $Param_ORG ne "NBg" ) ){ + if ( $#FitTypes != 0 && ( $Param_ORG ne "No" && $Param_ORG ne "NBg" ) ){ $Param = join( $EMPTY, $Param, "_", "$Component" ); } @@ -1443,7 +1455,7 @@ sub ExportParams { my $Parameters=$Paramcomp[$Component-1]; my @Params = split( /\s+/, $Parameters ); if ( $Component == 1 ) { - unshift( @Params, ( "N0", "NBg" ) ); + unshift( @Params, ( "No", "NBg" ) ); } # This is the counter for parameters of this component @@ -1453,7 +1465,7 @@ sub ExportParams { foreach my $Param (@Params) { my $Param_ORG = $Param; $Param=$Param.$Hist; - if ( $#FitTypes != 0 && ( $Param_ORG ne "N0" && $Param_ORG ne "NBg" ) ){ + if ( $#FitTypes != 0 && ( $Param_ORG ne "No" && $Param_ORG ne "NBg" ) ){ $Param = join( $EMPTY, $Param, "_", "$Component" ); } diff --git a/src/external/MuSRFitGUI/MuSRFit b/src/external/MuSRFitGUI/MuSRFit index 41cdc08b..360d80be 100755 --- a/src/external/MuSRFitGUI/MuSRFit +++ b/src/external/MuSRFitGUI/MuSRFit @@ -2,6 +2,6 @@ # Copyright 2009 by Zaher Salman and the LEM Group. export MUSRBIN=$ROOTSYS/bin/ -export PERLLIB=$HOME/analysis/musrfit/src/external/MuSRFitGUI -perl $HOME/analysis/musrfit/src/external/MuSRFitGUI/MuSRFit.pl +export PERLLIB=$HOME/LEM/musrfit/src/external/MuSRFitGUI +perl $HOME/LEM/musrfit/src/external/MuSRFitGUI/MuSRFit.pl diff --git a/src/external/MuSRFitGUI/MuSRFit.pl b/src/external/MuSRFitGUI/MuSRFit.pl index cd831500..ef0adbcd 100755 --- a/src/external/MuSRFitGUI/MuSRFit.pl +++ b/src/external/MuSRFitGUI/MuSRFit.pl @@ -1,6 +1,6 @@ # Form implementation generated from reading ui file 'MuSRFit.ui' # -# Created: Wed Jun 9 23:34:32 2010 +# Created: Wed Aug 18 12:51:07 2010 # by: The PerlQt User Interface Compiler (puic) # # WARNING! All changes made in this file will be lost! @@ -1704,7 +1704,7 @@ sub NEW setName("MuSRFitform" ); } setSizePolicy(Qt::SizePolicy(3, 3, 1, 1, this->sizePolicy()->hasHeightForWidth()) ); - setMinimumSize(Qt::Size(23, 270) ); + setMinimumSize(Qt::Size(21, 275) ); setIcon($image0 ); setCentralWidget(Qt::Widget(this, "qt_central_widget")); @@ -3114,9 +3114,10 @@ sub languageChange FitType2->insertItem( trUtf8("Gaussian Kubo-Toyabe LF x Exp") ); FitType2->insertItem( trUtf8("Lorentzian Kubo-Toyabe LF x Str Exp") ); FitType2->insertItem( trUtf8("Gaussian Kubo-Toyabe LF x Str Exp") ); + FitType2->insertItem( trUtf8("MolMag") ); FitType2->insertItem( trUtf8("Meissner State Model") ); FitType2->insertItem( trUtf8("None") ); - FitType2->setCurrentItem( int(14) ); + FitType2->setCurrentItem( int(15) ); TfsLabel->setText( trUtf8("Final Time") ); FitType1->clear(); FitType1->insertItem( trUtf8("Exponential") ); @@ -3132,6 +3133,7 @@ sub languageChange FitType1->insertItem( trUtf8("Gaussian Kubo-Toyabe LF x Exp") ); FitType1->insertItem( trUtf8("Lorentzian Kubo-Toyabe LF x Str Exp") ); FitType1->insertItem( trUtf8("Gaussian Kubo-Toyabe LF x Str Exp") ); + FitType1->insertItem( trUtf8("MolMag") ); FitType1->insertItem( trUtf8("Meissner State Model") ); FitType1->insertItem( trUtf8("None") ); BINS->setText( trUtf8("100") ); @@ -3155,9 +3157,10 @@ sub languageChange FitType3->insertItem( trUtf8("Gaussian Kubo-Toyabe LF x Exp") ); FitType3->insertItem( trUtf8("Lorentzian Kubo-Toyabe LF x Str Exp") ); FitType3->insertItem( trUtf8("Gaussian Kubo-Toyabe LF x Str Exp") ); + FitType3->insertItem( trUtf8("MolMag") ); FitType3->insertItem( trUtf8("Meissner State Model") ); FitType3->insertItem( trUtf8("None") ); - FitType3->setCurrentItem( int(14) ); + FitType3->setCurrentItem( int(15) ); Comp2Label->setText( trUtf8("Second Component") ); FitAsyTypeLabel->setText( trUtf8("Fit type") ); FitAsyType->clear(); @@ -3696,8 +3699,9 @@ sub CreateAllInput 10,"GLFExp", 11,"LLFSExp", 12,"GLFSExp", - 13,"Meissner", - 14,"None" + 13,"MolMag", + 14,"Meissner", + 15,"None" ); my $FT1=FitType1->currentItem; @@ -3737,7 +3741,7 @@ sub CreateAllInput unshift( @Params, "Alpha" ); } elsif ( $Component == 1 && $All{"FitAsyType"} eq "SingleHist" ) { - unshift( @Params, ( "N0", "NBg" ) ); + unshift( @Params, ( "No", "NBg" ) ); } # This is the counter for parameters of this component @@ -3750,7 +3754,7 @@ sub CreateAllInput if ( $All{"FitAsyType"} eq "SingleHist" ) { $Param=$Param.$Hists[0]; } - if ( $#FitTypes != 0 && ( $Param ne "Alpha" && $Param ne "N0" && $Param ne "NBg" ) ){ + if ( $#FitTypes != 0 && ( $Param ne "Alpha" && $Param ne "No" && $Param ne "NBg" ) ){ $Param = join( "", $Param, "_", $Component); } @@ -3768,6 +3772,7 @@ sub CreateAllInput $Shared = $ChkBx->isChecked(); } $All{"Sh_$Param"}=$Shared; + print "Sh_$Param=$Shared\n"; $NP++; } #Loop on parameters @@ -3975,7 +3980,7 @@ sub ActivateShComp unshift( @Params, "Alpha" ); } elsif ( $Component == 1 && $All{"FitAsyType"} eq "SingleHist" ) { - unshift( @Params, ( "N0", "NBg" ) ); + unshift( @Params, ( "No", "NBg" ) ); } @@ -4261,24 +4266,26 @@ sub InitializeFunctions my $ParCount=0; CParamsCombo->clear(); +# Possibly use the parameters block to axtract names for the dropdown menu +# this makes sense if we can use fun in map line. Check! my $Component=1; foreach my $FitType (@FitTypes) { my $Parameters=$Paramcomp[$Component-1]; my @Params = split( /\s+/, $Parameters ); -# Alpha, N0 and NBg are counted in the parameters +# Alpha, No and NBg are counted in the parameters if ( $Component == 1 && $All{"FitAsyType"} eq "Asymmetry" ) { unshift( @Params, "Alpha" ); } elsif ( $Component == 1 && $All{"FitAsyType"} eq "SingleHist" ) { - unshift( @Params, ( "N0", "NBg" ) ); + unshift( @Params, ( "No", "NBg" ) ); } # Add list to the constraints drop down menu for (my $i=1; $i<=9;$i++) { my $CParam = $Params[$i-1]."_".$Component; if ($Params[$i-1] ne "" ) { - if ($Params[$i-1] ne "Alpha" && $Params[$i-1] ne "N0" && $Params[$i-1] ne "NBg") { + if ($Params[$i-1] ne "Alpha" && $Params[$i-1] ne "No" && $Params[$i-1] ne "NBg") { CParamsCombo->insertItem($CParam,-1); $Full_T_Block=~ s/\b$Params[$i-1]\b/$CParam/; } diff --git a/src/external/MuSRFitGUI/MuSRFit.ui b/src/external/MuSRFitGUI/MuSRFit.ui index 8e7cfefa..c7f377e0 100755 --- a/src/external/MuSRFitGUI/MuSRFit.ui +++ b/src/external/MuSRFitGUI/MuSRFit.ui @@ -22,8 +22,8 @@ - 23 - 270 + 21 + 275 @@ -456,6 +456,11 @@ Gaussian Kubo-Toyabe LF x Str Exp + + + MolMag + + Meissner State Model @@ -478,7 +483,7 @@ - 14 + 15 @@ -566,6 +571,11 @@ Gaussian Kubo-Toyabe LF x Str Exp + + + MolMag + + Meissner State Model @@ -1271,6 +1281,11 @@ Gaussian Kubo-Toyabe LF x Str Exp + + + MolMag + + Meissner State Model @@ -1293,7 +1308,7 @@ - 14 + 15 diff --git a/src/external/MuSRFitGUI/MuSRFit.ui.h b/src/external/MuSRFitGUI/MuSRFit.ui.h index b74ffa98..86ccf2fd 100755 --- a/src/external/MuSRFitGUI/MuSRFit.ui.h +++ b/src/external/MuSRFitGUI/MuSRFit.ui.h @@ -320,8 +320,9 @@ void MuSRFitform::CreateAllInput() 10,"GLFExp", 11,"LLFSExp", 12,"GLFSExp", - 13,"Meissner", - 14,"None" + 13,"MolMag", + 14,"Meissner", + 15,"None" ); my $FT1=FitType1->currentItem; @@ -361,7 +362,7 @@ void MuSRFitform::CreateAllInput() unshift( @Params, "Alpha" ); } elsif ( $Component == 1 && $All{"FitAsyType"} eq "SingleHist" ) { - unshift( @Params, ( "N0", "NBg" ) ); + unshift( @Params, ( "No", "NBg" ) ); } # This is the counter for parameters of this component @@ -374,7 +375,7 @@ void MuSRFitform::CreateAllInput() if ( $All{"FitAsyType"} eq "SingleHist" ) { $Param=$Param.$Hists[0]; } - if ( $#FitTypes != 0 && ( $Param ne "Alpha" && $Param ne "N0" && $Param ne "NBg" ) ){ + if ( $#FitTypes != 0 && ( $Param ne "Alpha" && $Param ne "No" && $Param ne "NBg" ) ){ $Param = join( "", $Param, "_", $Component); } @@ -591,7 +592,7 @@ void MuSRFitform::ActivateShComp() unshift( @Params, "Alpha" ); } elsif ( $Component == 1 && $All{"FitAsyType"} eq "SingleHist" ) { - unshift( @Params, ( "N0", "NBg" ) ); + unshift( @Params, ( "No", "NBg" ) ); } @@ -861,24 +862,26 @@ void MuSRFitform::InitializeFunctions() my $ParCount=0; CParamsCombo->clear(); +# Possibly use the parameters block to axtract names for the dropdown menu +# this makes sense if we can use fun in map line. Check! my $Component=1; foreach my $FitType (@FitTypes) { my $Parameters=$Paramcomp[$Component-1]; my @Params = split( /\s+/, $Parameters ); -# Alpha, N0 and NBg are counted in the parameters +# Alpha, No and NBg are counted in the parameters if ( $Component == 1 && $All{"FitAsyType"} eq "Asymmetry" ) { unshift( @Params, "Alpha" ); } elsif ( $Component == 1 && $All{"FitAsyType"} eq "SingleHist" ) { - unshift( @Params, ( "N0", "NBg" ) ); + unshift( @Params, ( "No", "NBg" ) ); } # Add list to the constraints drop down menu for (my $i=1; $i<=9;$i++) { my $CParam = $Params[$i-1]."_".$Component; if ($Params[$i-1] ne "" ) { - if ($Params[$i-1] ne "Alpha" && $Params[$i-1] ne "N0" && $Params[$i-1] ne "NBg") { + if ($Params[$i-1] ne "Alpha" && $Params[$i-1] ne "No" && $Params[$i-1] ne "NBg") { CParamsCombo->insertItem($CParam,-1); $Full_T_Block=~ s/\b$Params[$i-1]\b/$CParam/; } diff --git a/src/external/MuSRFitGUI/devel/MuSRFit.ui b/src/external/MuSRFitGUI/devel/MuSRFit.ui index 4e6f45cd..9f209ef4 100755 --- a/src/external/MuSRFitGUI/devel/MuSRFit.ui +++ b/src/external/MuSRFitGUI/devel/MuSRFit.ui @@ -4734,7 +4734,7 @@ - + @@ -5243,13 +5243,13 @@ - optionsCustomise + optionsConfigure - Customise + Configure - Customise + Configure @@ -5493,12 +5493,6 @@ MuSRFitform AppendToFunctions() - - optionsCustomise - activated() - MuSRFitform - optionCustromize() - musrfit_tabs @@ -5607,7 +5601,7 @@ fileBrowse() AppendToFunctions() InitializeFunctions() - optionCustromize() + optionConfigure() diff --git a/src/external/MuSRFitGUI/devel/MuSRFit.ui.h b/src/external/MuSRFitGUI/devel/MuSRFit.ui.h index 29b92b4b..72e0b60a 100755 --- a/src/external/MuSRFitGUI/devel/MuSRFit.ui.h +++ b/src/external/MuSRFitGUI/devel/MuSRFit.ui.h @@ -900,7 +900,7 @@ void MuSRFitform::InitializeFunctions() } -void MuSRFitform::optionCustromize() +void MuSRFitform::optionConfigure() { use Customize;