[ Counter ] セクション ================================================== PHITSでは、各粒子はエネルギーや位置情報の他に、「カウンター」という個別の値を保持しています。 カウンター値は、特定の領域への入出( **in** , **out** )、領域内での散乱・核反応( **coll** )、境界での反射( **ref** )といったイベントが発生するたびに変化させることができ、これにより、タリーされた粒子がどのような履歴を経てその場所に到達したかを詳細に調べることが可能です。 したがって、カウンターは、PHITSシミュレーションにおける「イベント・ロガー」的な役割を果たします。 カウンターによる制限を有効にするためには、各タリーセクションまたは[Parameters] セクションにおいて **ctmin** や **ctmax** パラメータを設定します。これにより、特定のカウンター値を持つ粒子のみをタリーの対象としたり(ゲート機能)、特定の条件を満たした粒子の追跡そのものを打ち切ったり(カットオフ機能)することができます。 カウンターは3つ用意され、それぞれのカウンターで領域ごとに、その動作を定義します。 カウンターの動作契機は大きく分けると5つあり、領域に入った時 [#in-source]_ ( **in** )、領域を出た時( **out** )、境界で反射を起こした時( **ref** )、反応を起こした時( **coll** )、 **ndata** によるタリーが行われた時( **ndata** )です。 それぞれに、カウンターの進度(-9999-9999)、もしくは、ゼロセット(10000)を定義できます。 カウンターは粒子に付随して、散乱によって生成される粒子は、親のカウンターを引き継ぎます。 カウンターの容量は、-9999から9999まででそれ以下、以上になる時は変化しません。 カウンターは、 **part =** を使って粒子毎に指定できます。 また、 **\*part =** とすれば、カウンターを動作させない粒子を指定できます。 書式は以下のようになります。 .. code-block:: text :caption: **[ Counter ]** セクションの例題(1) [ Counter ] counter = 1 part = neutron proton reg in out coll ref 1 1 10000 0 0 11 1 10000 0 0 counter = 2 *part = proton deuteron triton 3he alpha nucleus reg in out coll ( { 2 - 5 } 8 9 ) -1 0 1 counter = 3 part = 208Pb reg coll ( 11 12 15 ) 5 ( 6<10[1 0 0]