[Go to BBS]
All articles in a thread
SubjectMINMAX
Article No479
Date: 2007/11/05(Mon) 16:41:27
ContributorKentaro Harada
  マッチングの場合のパラメータの範囲の上下限を決める
MAX, MIN, MINMAX, MAXMIN ですが、デフォルトキーワード
以外でも使用可能でしょうか?
  たとえば、

MOMENTUM = 1 GeV;
MARK
MKS = ()
MKE = ()
;
BEND
B1 = (L = 0.1)
;
QUAD
Q1 = (L = 0.1)
;
DRIFT
D1 = (L=0.1)
;
LINE
TEST = (MKS D1 Q1 D1 B1 D1 MKE)
;

ON LOG;
ON RAD FLUC COD RFSW RADCOD;
FFS USE TEST;

ins calc;
fit BX 1;
free B1 K1;
B1 K1 MINMAX 1 ;
var;
stop;
stop;

は、うまく働きません。マッチングをQでやることにして、

ins calc;
fit BX 1;
free Q1;
Q1 MINMAX 1 ;
var;

は働きます。コマンドを書く順番や書式に間違いがありますでしょうか?

SubjectRe: MINMAX
Article No480
Date: 2007/11/05(Mon) 19:01:19
ContributorAKio Morita
VARYを使ってからFREE/MINMAXを適用すれば良いのでは?

SubjectRe^2: MINMAX
Article No481
Date: 2007/11/06(Tue) 10:37:46
ContributorKentaro Harada
 順番の問題でしょうか…… VARYABLES は単に表示させるかどうかですが、
表示にかかわらず、例えば以下のスクリプトを acsad や linux で実行すると、
Qでマッチングするとちゃんと上下限が反映される(Matched にならずに
上限値で止まる)のですが、Bではだめです。マニュアルではできそうに書いて
ありますが、できないんですかね……


MOMENTUM = 1 GeV;
MARK
MKS = ()
MKE = ()
;
BEND
B1 = (L = 0.1 ANGLE = 0.1)
;
QUAD
Q1 = (L = 0.1)
;
DRIFT
D1 = (L=0.1)
;
LINE
TEST = (MKS D1 Q1 D1 B1 D1 MKE)
;

ON LOG;
ON RAD FLUC COD RFSW RADCOD;
FFS USE TEST;

ins calc;
fit BX 1;

! free B1 K1;
! B1 K1 MINMAX 0.5 ;

free Q1 K1;
Q1 K1 MINMAX 0.3 ;

go;

type B1 Q1;
disp;

stop;
stop;

  森田さんに教えていただいたように、デフォルトキーワードを
変えてしまうコマンドで、B のデフォルトキーワードを K1 にして
しまえば、うまくいきました。

ON LOG;
ON RAD FLUC COD RFSW RADCOD;
FFS USE TEST;

ins calc;
fit BX 1;

vary K1 B1
free B1 K1;
B1 K1 MINMAX 0.5 ;

var
go;
type B1 Q1;
disp;
stop;
stop;
 
  さしあたって、思った通りのマッチングができるようになりました。
どうもありがとうございました。

SubjectRe^3: MINMAX
Article No482
Date: 2007/11/06(Tue) 10:40:21
ContributorKentaro Harada
  頭の VARYABLE は VARIABLE の間違い、表示の問題どうこうは、
忘れてください。ありがとうございました。