Added possiblility to scan angle and sigma angle of implanted muons.

This commit is contained in:
2011-08-11 11:47:09 +00:00
parent 32d3458389
commit ce8b714e02
3 changed files with 299 additions and 163 deletions

View File

@ -1,6 +1,6 @@
# Form implementation generated from reading ui file 'TrimSPGUI.ui'
#
# Created: Tue Sep 28 13:00:09 2010
# Created: Thu Aug 11 13:41:48 2011
# by: The PerlQt User Interface Compiler (puic)
#
# WARNING! All changes made in this file will be lost!
@ -125,12 +125,6 @@ use Qt::attributes qw(
textLabelESB
ScansTab
ScanSeq
buttonGroup2
SigERadio
NProjRadio
dRadio
ScandL
ERadio
ScanMode
textLabel2
SFrom
@ -143,6 +137,14 @@ use Qt::attributes qw(
LoopRadio
ListRadio
ScanListdz
buttonGroup2
SigERadio
NProjRadio
dRadio
ScandL
SigAngleRadio
AngleRadio
ERadio
Progress
MenuBar
File
@ -1603,28 +1605,6 @@ sub NEW
ScanSeq->setCheckable( 1 );
ScanSeq->setChecked( 0 );
buttonGroup2 = Qt::ButtonGroup(ScanSeq, "buttonGroup2");
buttonGroup2->setGeometry( Qt::Rect(10, 20, 216, 215) );
buttonGroup2->setExclusive( 1 );
SigERadio = Qt::RadioButton(buttonGroup2, "SigERadio");
SigERadio->setGeometry( Qt::Rect(4, 47, 211, 24) );
NProjRadio = Qt::RadioButton(buttonGroup2, "NProjRadio");
NProjRadio->setGeometry( Qt::Rect(4, 72, 211, 24) );
dRadio = Qt::RadioButton(buttonGroup2, "dRadio");
dRadio->setGeometry( Qt::Rect(5, 99, 153, 24) );
ScandL = Qt::SpinBox(buttonGroup2, "ScandL");
ScandL->setGeometry( Qt::Rect(158, 98, 56, 26) );
ScandL->setMaxValue( int(7) );
ScandL->setMinValue( int(1) );
ERadio = Qt::RadioButton(buttonGroup2, "ERadio");
ERadio->setGeometry( Qt::Rect(4, 22, 211, 24) );
ERadio->setChecked( 1 );
ScanMode = Qt::ButtonGroup(ScanSeq, "ScanMode");
ScanMode->setGeometry( Qt::Rect(230, 20, 310, 215) );
ScanMode->setCheckable( 0 );
@ -1673,6 +1653,35 @@ sub NEW
ScanListdz = Qt::LineEdit(ScanMode, "ScanListdz");
ScanListdz->setEnabled( 0 );
ScanListdz->setGeometry( Qt::Rect(11, 108, 290, 26) );
buttonGroup2 = Qt::ButtonGroup(ScanSeq, "buttonGroup2");
buttonGroup2->setGeometry( Qt::Rect(10, 20, 216, 215) );
buttonGroup2->setExclusive( 1 );
SigERadio = Qt::RadioButton(buttonGroup2, "SigERadio");
SigERadio->setGeometry( Qt::Rect(4, 47, 211, 24) );
NProjRadio = Qt::RadioButton(buttonGroup2, "NProjRadio");
NProjRadio->setGeometry( Qt::Rect(4, 122, 211, 24) );
dRadio = Qt::RadioButton(buttonGroup2, "dRadio");
dRadio->setGeometry( Qt::Rect(5, 149, 153, 24) );
ScandL = Qt::SpinBox(buttonGroup2, "ScandL");
ScandL->setGeometry( Qt::Rect(158, 148, 56, 26) );
ScandL->setMaxValue( int(7) );
ScandL->setMinValue( int(1) );
SigAngleRadio = Qt::RadioButton(buttonGroup2, "SigAngleRadio");
SigAngleRadio->setGeometry( Qt::Rect(4, 97, 211, 24) );
AngleRadio = Qt::RadioButton(buttonGroup2, "AngleRadio");
AngleRadio->setGeometry( Qt::Rect(4, 72, 211, 24) );
AngleRadio->setChecked( 0 );
ERadio = Qt::RadioButton(buttonGroup2, "ERadio");
ERadio->setGeometry( Qt::Rect(4, 22, 211, 24) );
ERadio->setChecked( 1 );
tabs->insertTab( ScansTab, "" );
$TrimSPGUILayout->addWidget(tabs, 0, 0);
@ -1775,6 +1784,8 @@ sub NEW
Qt::Object::connect(fileOpenAction, SIGNAL "activated()", this, SLOT "OpenFile()");
Qt::Object::connect(fileSaveAction, SIGNAL "activated()", this, SLOT "SaveFile()");
Qt::Object::connect(fileSaveAsAction, SIGNAL "activated()", this, SLOT "SaveFileAs()");
Qt::Object::connect(AngleRadio, SIGNAL "toggled(bool)", this, SLOT "ToggleScanSingle()");
Qt::Object::connect(SigAngleRadio, SIGNAL "toggled(bool)", this, SLOT "ToggleScanSingle()");
}
@ -1876,16 +1887,6 @@ sub languageChange
tabs->changeTab( AddParTab, trUtf8("Additional Parameters") );
ScanSeq->setTitle( trUtf8("Scan sequence") );
Qt::WhatsThis::add(ScanSeq, trUtf8("Select to scan a certain parameter in the simulation and produce multiple output files for each value of this parameter."));
buttonGroup2->setTitle( trUtf8("Scan Parameter") );
SigERadio->setText( trUtf8("Energy sigma") );
Qt::WhatsThis::add(SigERadio, trUtf8("Scan spread in implantation energy."));
NProjRadio->setText( trUtf8("Projectile number") );
Qt::WhatsThis::add(NProjRadio, trUtf8("Scan the number of implanted projectiles."));
dRadio->setText( trUtf8("Thickness of Layer") );
Qt::WhatsThis::add(dRadio, trUtf8("Scan the thickness of the selected layer."));
Qt::WhatsThis::add(ScandL, trUtf8("This is the layer whose thickness will be scanned"));
ERadio->setText( trUtf8("Energy") );
Qt::WhatsThis::add(ERadio, trUtf8("Scan implantation energy."));
ScanMode->setTitle( trUtf8("Scan mode") );
textLabel2->setText( trUtf8("From") );
SFrom->setText( trUtf8("1000") );
@ -1902,6 +1903,20 @@ sub languageChange
Qt::WhatsThis::add(ListRadio, trUtf8("The values of the scanned parameter are from a list."));
ScanListdz->setText( undef );
Qt::WhatsThis::add(ScanListdz, trUtf8("A list of values to scan (separated by commas)."));
buttonGroup2->setTitle( trUtf8("Scan Parameter") );
SigERadio->setText( trUtf8("Energy sigma") );
Qt::WhatsThis::add(SigERadio, trUtf8("Scan spread in implantation energy."));
NProjRadio->setText( trUtf8("Projectile number") );
Qt::WhatsThis::add(NProjRadio, trUtf8("Scan the number of implanted projectiles."));
dRadio->setText( trUtf8("Thickness of Layer") );
Qt::WhatsThis::add(dRadio, trUtf8("Scan the thickness of the selected layer."));
Qt::WhatsThis::add(ScandL, trUtf8("This is the layer whose thickness will be scanned"));
SigAngleRadio->setText( trUtf8("Angle sigma") );
Qt::WhatsThis::add(SigAngleRadio, trUtf8("Scan spread in implantation energy."));
AngleRadio->setText( trUtf8("Angle") );
Qt::WhatsThis::add(AngleRadio, trUtf8("Scan implantation energy."));
ERadio->setText( trUtf8("Energy") );
Qt::WhatsThis::add(ERadio, trUtf8("Scan implantation energy."));
tabs->changeTab( ScansTab, trUtf8("Scans (Disbaled)") );
fileNewAction->setText( trUtf8("New") );
fileNewAction->setMenuText( trUtf8("&New") );
@ -1974,6 +1989,8 @@ sub ToggleScanSingle
$All{"ScanSeq"}=ScanSeq->isChecked();
$All{"ERadio"}=ERadio->isChecked();
$All{"SigERadio"}=SigERadio->isChecked();
$All{"AngleRadio"}=AngleRadio->isChecked();
$All{"SigAngleRadio"}=SigAngleRadio->isChecked();
$All{"NProjRadio"}=NProjRadio->isChecked();
$All{"dRadio"}=dRadio->isChecked();
$All{"ScandL"}=ScandL->text();
@ -1985,6 +2002,10 @@ sub ToggleScanSingle
# E->setText("2000");
SigE->setDisabled(0);
# SigE->setText("450");
Angle->setDisabled(0);
# Angle->setText("0");
SigAngle->setDisabled(0);
# SigAngle->setText("15");
NProj->setDisabled(0);
# NProj->setText("10000");
for (my $i=1;$i<=7;$i++) {
@ -2008,18 +2029,32 @@ sub ToggleScanSingle
if ($All{"ScanSeq"}==1) {
# But if we are in scan mode disable the appropriate box
# Start by enabling everything
E->setDisabled(0);
SigE->setDisabled(0);
Angle->setDisabled(0);
SigAngle->setDisabled(0);
NProj->setDisabled(0);
my $LayerName = "L".$All{"ScandL"}."d";
my $LayerAttrib = child($LayerName);
$LayerAttrib->setDisabled(0);
# then disable one
if ($All{"ERadio"}) {
E->setDisabled(1);
# E->setText("");
} elsif ($All{"SigERadio"}) {
SigE->setDisabled(1);
# SigE->setText("");
} elsif ($All{"AngleRadio"}) {
Angle->setDisabled(1);
# Angle->setText("");
} elsif ($All{"SigAngleRadio"}) {
SigAngle->setDisabled(1);
# SigAngle->setText("");
} elsif ($All{"NProjRadio"}) {
NProj->setDisabled(1);
# NProj->setText("");
} elsif($All{"dRadio"}) {
my $LayerName = "L".$All{"ScandL"}."d";
my $LayerAttrib = child($LayerName);
$LayerAttrib->setDisabled(1);
# $LayerAttrib->setText("");
}
@ -2197,6 +2232,8 @@ sub CollectValues
# if ($All{"ScanSeq"}) {
$All{"ERadio"}=ERadio->isChecked();
$All{"SigERadio"}=SigERadio->isChecked();
$All{"AngleRadio"}=AngleRadio->isChecked();
$All{"SigAngleRadio"}=SigAngleRadio->isChecked();
$All{"NProjRadio"}=NProjRadio->isChecked();
$All{"dRadio"}=dRadio->isChecked();
$All{"ScandL"}=ScandL->text();
@ -2434,6 +2471,8 @@ sub StartSequenceOne
# For a scan
$All{"ERadio"}=ERadio->isChecked();
$All{"SigERadio"}=SigERadio->isChecked();
$All{"AngleRadio"}=AngleRadio->isChecked();
$All{"SigAngleRadio"}=SigAngleRadio->isChecked();
$All{"NProjRadio"}=NProjRadio->isChecked();
$All{"dRadio"}=dRadio->isChecked();
$All{"ScandL"}=ScandL->text();
@ -2467,6 +2506,10 @@ sub StartSequenceOne
$ScanName = "E";
} elsif ($All{"SigERadio"}) {
$ScanName = "SigE";
} elsif ($All{"AngleRadio"}) {
$ScanName = "Angle";
} elsif ($All{"SigAngleRadio"}) {
$ScanName = "SigAngle";
} elsif ($All{"NProjRadio"}) {
$ScanName = "NProj";
} elsif ($All{"dRadio"}) {
@ -2640,6 +2683,8 @@ sub OpenFile
$Types{"ScanSeq"}= 2;
$Types{"ERadio"}= 2;
$Types{"SigERadio"}= 2;
$Types{"AngleRadio"}= 2;
$Types{"SigAngleRadio"}= 2;
$Types{"NProjRadio"}= 2;
$Types{"dRadio"}= 2;
$Types{"ScandL"}= 1;
@ -2735,6 +2780,8 @@ Path=$All{'Path'}
ScanSeq=$All{'ScanSeq'}
ERadio=$All{'ERadio'}
SigERadio=$All{'SigERadio'}
AngleRadio=$All{'AngleRadio'}
SigAngleRadio=$All{'SigAngleRadio'}
NProjRadio=$All{'NProjRadio'}
dRadio=$All{'dRadio'}
ListRadio=$All{'ListRadio'}
@ -2802,6 +2849,8 @@ Path=$All{'Path'}
ScanSeq=$All{'ScanSeq'}
ERadio=$All{'ERadio'}
SigERadio=$All{'SigERadio'}
AngleRadio=$All{'AngleRadio'}
SigAngleRadio=$All{'SigAngleRadio'}
NProjRadio=$All{'NProjRadio'}
dRadio=$All{'dRadio'}
ListRadio=$All{'ListRadio'}

View File

@ -1745,126 +1745,6 @@
<property name="whatsThis" stdset="0">
<string>Select to scan a certain parameter in the simulation and produce multiple output files for each value of this parameter.</string>
</property>
<widget class="QButtonGroup">
<property name="name">
<cstring>buttonGroup2</cstring>
</property>
<property name="geometry">
<rect>
<x>10</x>
<y>20</y>
<width>216</width>
<height>215</height>
</rect>
</property>
<property name="title">
<string>Scan Parameter</string>
</property>
<property name="exclusive">
<bool>true</bool>
</property>
<widget class="QRadioButton">
<property name="name">
<cstring>SigERadio</cstring>
</property>
<property name="geometry">
<rect>
<x>4</x>
<y>47</y>
<width>211</width>
<height>24</height>
</rect>
</property>
<property name="text">
<string>Energy sigma</string>
</property>
<property name="whatsThis" stdset="0">
<string>Scan spread in implantation energy.</string>
</property>
</widget>
<widget class="QRadioButton">
<property name="name">
<cstring>NProjRadio</cstring>
</property>
<property name="geometry">
<rect>
<x>4</x>
<y>72</y>
<width>211</width>
<height>24</height>
</rect>
</property>
<property name="text">
<string>Projectile number</string>
</property>
<property name="whatsThis" stdset="0">
<string>Scan the number of implanted projectiles.</string>
</property>
</widget>
<widget class="QRadioButton">
<property name="name">
<cstring>dRadio</cstring>
</property>
<property name="geometry">
<rect>
<x>5</x>
<y>99</y>
<width>153</width>
<height>24</height>
</rect>
</property>
<property name="text">
<string>Thickness of Layer</string>
</property>
<property name="whatsThis" stdset="0">
<string>Scan the thickness of the selected layer.</string>
</property>
</widget>
<widget class="QSpinBox">
<property name="name">
<cstring>ScandL</cstring>
</property>
<property name="geometry">
<rect>
<x>158</x>
<y>98</y>
<width>56</width>
<height>26</height>
</rect>
</property>
<property name="maxValue">
<number>7</number>
</property>
<property name="minValue">
<number>1</number>
</property>
<property name="whatsThis" stdset="0">
<string>This is the layer whose thickness will be scanned</string>
</property>
</widget>
<widget class="QRadioButton">
<property name="name">
<cstring>ERadio</cstring>
</property>
<property name="geometry">
<rect>
<x>4</x>
<y>22</y>
<width>211</width>
<height>24</height>
</rect>
</property>
<property name="text">
<string>Energy</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
<property name="whatsThis" stdset="0">
<string>Scan implantation energy.</string>
</property>
</widget>
</widget>
<widget class="QButtonGroup">
<property name="name">
<cstring>ScanMode</cstring>
@ -2087,6 +1967,167 @@
</property>
</widget>
</widget>
<widget class="QButtonGroup">
<property name="name">
<cstring>buttonGroup2</cstring>
</property>
<property name="geometry">
<rect>
<x>10</x>
<y>20</y>
<width>216</width>
<height>215</height>
</rect>
</property>
<property name="title">
<string>Scan Parameter</string>
</property>
<property name="exclusive">
<bool>true</bool>
</property>
<widget class="QRadioButton">
<property name="name">
<cstring>SigERadio</cstring>
</property>
<property name="geometry">
<rect>
<x>4</x>
<y>47</y>
<width>211</width>
<height>24</height>
</rect>
</property>
<property name="text">
<string>Energy sigma</string>
</property>
<property name="whatsThis" stdset="0">
<string>Scan spread in implantation energy.</string>
</property>
</widget>
<widget class="QRadioButton">
<property name="name">
<cstring>NProjRadio</cstring>
</property>
<property name="geometry">
<rect>
<x>4</x>
<y>122</y>
<width>211</width>
<height>24</height>
</rect>
</property>
<property name="text">
<string>Projectile number</string>
</property>
<property name="whatsThis" stdset="0">
<string>Scan the number of implanted projectiles.</string>
</property>
</widget>
<widget class="QRadioButton">
<property name="name">
<cstring>dRadio</cstring>
</property>
<property name="geometry">
<rect>
<x>5</x>
<y>149</y>
<width>153</width>
<height>24</height>
</rect>
</property>
<property name="text">
<string>Thickness of Layer</string>
</property>
<property name="whatsThis" stdset="0">
<string>Scan the thickness of the selected layer.</string>
</property>
</widget>
<widget class="QSpinBox">
<property name="name">
<cstring>ScandL</cstring>
</property>
<property name="geometry">
<rect>
<x>158</x>
<y>148</y>
<width>56</width>
<height>26</height>
</rect>
</property>
<property name="maxValue">
<number>7</number>
</property>
<property name="minValue">
<number>1</number>
</property>
<property name="whatsThis" stdset="0">
<string>This is the layer whose thickness will be scanned</string>
</property>
</widget>
<widget class="QRadioButton">
<property name="name">
<cstring>SigAngleRadio</cstring>
</property>
<property name="geometry">
<rect>
<x>4</x>
<y>97</y>
<width>211</width>
<height>24</height>
</rect>
</property>
<property name="text">
<string>Angle sigma</string>
</property>
<property name="whatsThis" stdset="0">
<string>Scan spread in implantation energy.</string>
</property>
</widget>
<widget class="QRadioButton">
<property name="name">
<cstring>AngleRadio</cstring>
</property>
<property name="geometry">
<rect>
<x>4</x>
<y>72</y>
<width>211</width>
<height>24</height>
</rect>
</property>
<property name="text">
<string>Angle</string>
</property>
<property name="checked">
<bool>false</bool>
</property>
<property name="whatsThis" stdset="0">
<string>Scan implantation energy.</string>
</property>
</widget>
<widget class="QRadioButton">
<property name="name">
<cstring>ERadio</cstring>
</property>
<property name="geometry">
<rect>
<x>4</x>
<y>22</y>
<width>211</width>
<height>24</height>
</rect>
</property>
<property name="text">
<string>Energy</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
<property name="whatsThis" stdset="0">
<string>Scan implantation energy.</string>
</property>
</widget>
</widget>
</widget>
</widget>
</widget>
@ -2614,6 +2655,18 @@
<receiver>TrimSPGUI</receiver>
<slot>SaveFileAs()</slot>
</connection>
<connection>
<sender>AngleRadio</sender>
<signal>toggled(bool)</signal>
<receiver>TrimSPGUI</receiver>
<slot>ToggleScanSingle()</slot>
</connection>
<connection>
<sender>SigAngleRadio</sender>
<signal>toggled(bool)</signal>
<receiver>TrimSPGUI</receiver>
<slot>ToggleScanSingle()</slot>
</connection>
</connections>
<includes>
<include location="local" impldecl="in implementation">TrimSPGUI.ui.h</include>

View File

@ -37,6 +37,8 @@ void TrimSPGUI::ToggleScanSingle()
$All{"ScanSeq"}=ScanSeq->isChecked();
$All{"ERadio"}=ERadio->isChecked();
$All{"SigERadio"}=SigERadio->isChecked();
$All{"AngleRadio"}=AngleRadio->isChecked();
$All{"SigAngleRadio"}=SigAngleRadio->isChecked();
$All{"NProjRadio"}=NProjRadio->isChecked();
$All{"dRadio"}=dRadio->isChecked();
$All{"ScandL"}=ScandL->text();
@ -48,6 +50,10 @@ void TrimSPGUI::ToggleScanSingle()
# E->setText("2000");
SigE->setDisabled(0);
# SigE->setText("450");
Angle->setDisabled(0);
# Angle->setText("0");
SigAngle->setDisabled(0);
# SigAngle->setText("15");
NProj->setDisabled(0);
# NProj->setText("10000");
for (my $i=1;$i<=7;$i++) {
@ -71,18 +77,32 @@ void TrimSPGUI::ToggleScanSingle()
if ($All{"ScanSeq"}==1) {
# But if we are in scan mode disable the appropriate box
# Start by enabling everything
E->setDisabled(0);
SigE->setDisabled(0);
Angle->setDisabled(0);
SigAngle->setDisabled(0);
NProj->setDisabled(0);
my $LayerName = "L".$All{"ScandL"}."d";
my $LayerAttrib = child($LayerName);
$LayerAttrib->setDisabled(0);
# then disable one
if ($All{"ERadio"}) {
E->setDisabled(1);
# E->setText("");
} elsif ($All{"SigERadio"}) {
SigE->setDisabled(1);
# SigE->setText("");
} elsif ($All{"AngleRadio"}) {
Angle->setDisabled(1);
# Angle->setText("");
} elsif ($All{"SigAngleRadio"}) {
SigAngle->setDisabled(1);
# SigAngle->setText("");
} elsif ($All{"NProjRadio"}) {
NProj->setDisabled(1);
# NProj->setText("");
} elsif($All{"dRadio"}) {
my $LayerName = "L".$All{"ScandL"}."d";
my $LayerAttrib = child($LayerName);
$LayerAttrib->setDisabled(1);
# $LayerAttrib->setText("");
}
@ -255,6 +275,8 @@ void TrimSPGUI::CollectValues()
# if ($All{"ScanSeq"}) {
$All{"ERadio"}=ERadio->isChecked();
$All{"SigERadio"}=SigERadio->isChecked();
$All{"AngleRadio"}=AngleRadio->isChecked();
$All{"SigAngleRadio"}=SigAngleRadio->isChecked();
$All{"NProjRadio"}=NProjRadio->isChecked();
$All{"dRadio"}=dRadio->isChecked();
$All{"ScandL"}=ScandL->text();
@ -490,6 +512,8 @@ void TrimSPGUI::StartSequenceOne()
# For a scan
$All{"ERadio"}=ERadio->isChecked();
$All{"SigERadio"}=SigERadio->isChecked();
$All{"AngleRadio"}=AngleRadio->isChecked();
$All{"SigAngleRadio"}=SigAngleRadio->isChecked();
$All{"NProjRadio"}=NProjRadio->isChecked();
$All{"dRadio"}=dRadio->isChecked();
$All{"ScandL"}=ScandL->text();
@ -523,6 +547,10 @@ void TrimSPGUI::StartSequenceOne()
$ScanName = "E";
} elsif ($All{"SigERadio"}) {
$ScanName = "SigE";
} elsif ($All{"AngleRadio"}) {
$ScanName = "Angle";
} elsif ($All{"SigAngleRadio"}) {
$ScanName = "SigAngle";
} elsif ($All{"NProjRadio"}) {
$ScanName = "NProj";
} elsif ($All{"dRadio"}) {
@ -692,6 +720,8 @@ void TrimSPGUI::OpenFile()
$Types{"ScanSeq"}= 2;
$Types{"ERadio"}= 2;
$Types{"SigERadio"}= 2;
$Types{"AngleRadio"}= 2;
$Types{"SigAngleRadio"}= 2;
$Types{"NProjRadio"}= 2;
$Types{"dRadio"}= 2;
$Types{"ScandL"}= 1;
@ -786,6 +816,8 @@ Path=$All{'Path'}
ScanSeq=$All{'ScanSeq'}
ERadio=$All{'ERadio'}
SigERadio=$All{'SigERadio'}
AngleRadio=$All{'AngleRadio'}
SigAngleRadio=$All{'SigAngleRadio'}
NProjRadio=$All{'NProjRadio'}
dRadio=$All{'dRadio'}
ListRadio=$All{'ListRadio'}
@ -852,6 +884,8 @@ Path=$All{'Path'}
ScanSeq=$All{'ScanSeq'}
ERadio=$All{'ERadio'}
SigERadio=$All{'SigERadio'}
AngleRadio=$All{'AngleRadio'}
SigAngleRadio=$All{'SigAngleRadio'}
NProjRadio=$All{'NProjRadio'}
dRadio=$All{'dRadio'}
ListRadio=$All{'ListRadio'}