Skip to content

Commit

Permalink
Merge pull request #697 from Oudihat-Radia/Oudihat-Radia-CoincidenceT…
Browse files Browse the repository at this point in the history
…imeDiffSelector

Documentation coincidence time diff selector
  • Loading branch information
kochebina authored Sep 4, 2024
2 parents dfca2f7 + 290224b commit 3a93602
Showing 1 changed file with 24 additions and 4 deletions.
28 changes: 24 additions & 4 deletions docs/digitizer_and_detector_modeling.rst
Original file line number Diff line number Diff line change
Expand Up @@ -537,7 +537,7 @@ Here is an example of how to configure this in a macro file:
/gate/distributions/my_distrib2D/setFileName Lut(X,Y).txt
/gate/distributions/my_distrib2D/readMatrix2d
/gate/digitizerMgr/crystalUnit/SinglesDigitizer/Singles/insert spatialResolution
/gate/digitizerMgr/crystalUnit/SinglesDigitizer/Singles/spatialResolution/fwhmXdistrib2D my_distrib2D
/gate/digitizerMgr/crystalUnit/SinglesDigitizer/Singles/spatialResolution/fwhmXYdistrib2D my_distrib2D
**Example for 1D distribution**::

/gate/distributions/name my_distrib1D
Expand Down Expand Up @@ -1412,15 +1412,18 @@ The dead time for coincidences works in the same way as that acting on the *sing
Coincidence buffers
~~~~~~~~~~~~~~~~~~~
It simulates the operation of a detector by modeling coincidences, transfer speed limits, and data loss due to buffer capacity overflows. It manages a memory buffer for coincidence events, allowing for the modeling of data loss due to buffer overflow. It uses a read frequency and allows defining the buffer size and read mode, influencing how events are processed. There are two buffer operation modes. Mode 1 empties the entire buffer at each read clock tick, while Mode 0 reads events one by one.
Here is an example of how to configure this in a macro file:

**Example** ::

Example::

/gate/digitizerMgr/CoincidenceDigitizer/finalCoinc/insert buffer
/gate/digitizerMgr/CoincidenceDigitizer/finalCoinc/buffer/setBufferSize 64 B
/gate/digitizerMgr/CoincidenceDigitizer/finalCoinc/buffer/setReadFrequency 10 MHz
/gate/digitizerMgr/CoincidenceDigitizer/finalCoinc/buffer/setMode 1



For a coincidence sorter user can chose a presort buffer with a following command:

/gate/digitizer/Coincidences/setPresortBufferSize 256
Expand All @@ -1432,12 +1435,29 @@ A presort buffer contains singles that have not yet been checked for coincidence
Multiple coincidence removal
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

If the multiple coincidences are kept and not split into pairs (i.e., if any of the **keepXXX** multiple coincidence policies are used), the multicoincidences could contribute to dataflow occupancy but cannot be written to the disk. Unless otherwise specified, any multicoincidence is then cleared from data just before the disk writing. If needed, this clearing could be performed at any earlier coincidence processing step by inserting the **multipleKiller** module at the required level. This module has no parameters and simply removes the multicoincidence events. Multiple coincidences split into many pairs are not affected by this module and cannot be distinguished from normal "simple" coincidences. To insert a multipleKiller, use the syntax::

If the multiple coincidences are kept and not split into pairs (i.e., if any of the **keepXXX** multiple coincidence policies are used), the multicoincidences could contribute to dataflow occupancy but cannot be written to the disk. Unless otherwise specified, any multicoincidence is then cleared from data just before the disk writing. If needed, this clearing could be performed at any earlier coincidence processing step by inserting the **multiplesKiller** module at the required level. This module has no parameters and simply removes the multicoincidence events. Multiple coincidences split into many pairs are not affected by this module and cannot be distinguished from normal "simple" coincidences. To insert a multipleKiller, use the syntax ::

/gate/digitizerMgr/CoincidenceDigitizer/finalCoinc/insert multiplesKiller



Coincidence Time Difference Selector
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This module reprocesses the list of coincidences and applies a cut on the time difference between two Singles forming the coincidence, i. e. appalling a cut tighter than coincidence time window selected by coincidence sorter.



**Example** ::


/gate/digitizerMgr/CoincidenceDigitizer/finalCoinc/insert timeDiffSelector
/gate/digitizerMgr/CoincidenceDigitizer/finalCoinc/timeDiffSelector/setMin 1 ns
/gate/digitizerMgr/CoincidenceDigitizer/finalCoinc/timeDiffSelector/setMax 100 ns


These commands configure the `Coincidence Time Difference Selector` to keep only the events where the time difference is between 1 nanosecond and 100 nanoseconds. Events outside this range will be ignored.

Example of a digitizer setting
------------------------------

Expand Down

0 comments on commit 3a93602

Please sign in to comment.