Conference Room SAD
[thread display] [new arrival display] [word search] [past log] [管理用]

Subject TrackParticles[]拡張について
Date: 2010/07/30(Fri) 14:50:38
ContributorAkio Morita

以下の拡張機能を amorita branchで実験中です

o LOSSMAP拡張(Revision 3150以降)
  LOSSMAPフラグがONの際に、粒子分布の第8要素にParticle Lost Position情報を出力する

  * 拡張された粒子分布は以下の通り
     beam := {{x1,...}, {px1,...}, {y1,...}, {py1,...}, {z1,...}, {dp1,...}, {flg1,...} ,{lost1,...}}
   lost#: #-th粒子のLost Position情報
      1 =< lost# =<  LINE["LENGTH"]:  TrackParticles[]内で POSITION lost#で失われた
    -1 >= lost# >= -LINE["LENGTH"]:  TrackParticles[]に渡された時点で、POSITION -lost#で失われていた
                                               0:  消失位置不明 or 生存中(flg#に依存)

  * TrackParticles[]へ与えられた粒子分布が第8要素を含むとき、過去のParticle Lost Position情報を継承する

o Multi-Turn拡張(Revision 3153以降)
  第4引数を拡張し、TrackParticles[]内でMulti-Turn Trackingを行う

  * 新しい引数プロトタイプは以下の通り
  {dst1_Real, beam1_List} = TrackParticles[{src:(_Real_String), beam_List}, dst:(_Real|_String):"$$$", tBegin_Real:1, tEnd_Real:tBegin]

    tEnd > tBegin時に、Trackingは、tBegin-th turnの `src'から開始され、tEnd-th turnの `dst'で終了する。
    turn numberは `src'通過時に加算される。

Multi-Turn拡張に関しては直感的な拡張になっていますが、LOSSMAP拡張に関しては
 * フラグを新設すべきか否か
   - TrackParticles[]へ option引数で指示する
   - TrackParticles[]へ渡す粒子分布のフォーマットの違いで暗黙のうちに指示する
 * 新設したフラグの名称
 * 出力形式
   - PHOTONSフラグのように、グローバル変数経由で出力する
 * ExternalMap[]のようなに、粒子消失時にコールバックを発生させる
等々、設計上の選択肢がありえますので、実際のユースケースを前提とした提案を募集します