[Gate-users] FastI124 source code modification

Albert Grace Lieu albertnew2018 at gmail.com
Mon Nov 9 20:00:52 CET 2020


Dear Gate users,

In Gate simulation, Ion sources are extremely slow (not really usable for
large simulations) compared to the simplest back-to-back gamma source.
However, back-to-back gamma can not well model the nonpure position
emitters, like I-124, Ga-68, Sc-44, and many other positron-emitting
isotopes. There are two simplified fast sources for Y-90 and I-124. I want
to modify one of them to create my own fast source Ga-68. The builtin
source fastI124 may be a good template.  I could not find any documentation
about the parameters used in the source code. Could anyone help me
understand the source below?  Or point me to the documentation?

1. What does the state number (-2,-1,0,1,2) mean?
2. what does the cumulative probability mean? It does not seem to match the
probability in the decay scheme in the attached figure.
3. What are amplitude and normalisationFactor?

Thanks a lot for any help.
Zhengzhi


## Source code snippet

## GateSimplifiedDecayTransition.hh
class GateSimplifiedDecayTransition {
  friend class GateSimplifiedDecay;
 public:
  GateSimplifiedDecayTransition(int cs, int ns, double pr,
 std::function<psd(GateSimplifiedDecayTransition*)> act, double en=0,
double ampl=0, double norm=0, int Z=0):
    currentState(cs),
    nextState(ns),
    probability(pr),
    action(act),
    energy(en),
    amplitude(ampl),
    normalisationFactor(norm),
    atomicNumber(Z){;}


## GateFastI124.cc
void GateFastI124::InitializeFastI124()
{
// Forces fixed energy.  Real energy will be set later
m_source->SetNumberOfParticles( 1 );
m_source->GetEneDist()->SetEnergyDisType( "Mono" );
m_source->SetParticleTime( m_source->GetTime() );

// This defines the 13 transitions forming the simplified scheme
  // Entries are:
  //             for gammas :      current state / next state / cumulative
probability / particle emitted (gamma)    / energy
  //             for e+     :      current state / next state / cumulative
probability / particle emitted (e+)       / max energy ...
  //                               ... / amplitude of majoring function /
normalisation factor for energy distribution (Fermi function) / atomic
number

m_simpleDecay = new GateSimplifiedDecay();
m_particleVector = new std::vector<psd>;

  m_simpleDecay->addTransition( new GateSimplifiedDecayTransition(0, 1,
0.0175,  mem_fn( &GateSimplifiedDecayTransition::issueGamma),     1.376   )
 );
  m_simpleDecay->addTransition( new GateSimplifiedDecayTransition(0, 1,
0.0488,  mem_fn( &GateSimplifiedDecayTransition::issueGamma),     1.509   )
 );
  m_simpleDecay->addTransition( new GateSimplifiedDecayTransition(0, 1,
0.1189,  mem_fn( &GateSimplifiedDecayTransition::issueNone )              )
 );
  m_simpleDecay->addTransition( new GateSimplifiedDecayTransition(0, 2,
0.2359,  mem_fn( &GateSimplifiedDecayTransition::issuePositron),  1.534,
 1.4,  0.4407471595713562, 53) );
  m_simpleDecay->addTransition( new GateSimplifiedDecayTransition(0, 2,
0.3447,  mem_fn( &GateSimplifiedDecayTransition::issueGamma),     1.691   )
 );
  m_simpleDecay->addTransition( new GateSimplifiedDecayTransition(0, 2,
0.3515,  mem_fn( &GateSimplifiedDecayTransition::issueGamma),     2.283   )
 );
  m_simpleDecay->addTransition( new GateSimplifiedDecayTransition(0, 2,
0.3598,  mem_fn( &GateSimplifiedDecayTransition::issueGamma),     0.645   )
 );
  m_simpleDecay->addTransition( new GateSimplifiedDecayTransition(0, 2,
0.6422,  mem_fn( &GateSimplifiedDecayTransition::issueNone )              )
 );

  m_simpleDecay->addTransition( new GateSimplifiedDecayTransition(0,-1,
0.7502,  mem_fn( &GateSimplifiedDecayTransition::issuePositron),  2.137,
 1.0,  0.10072654633851122,53) );
  m_simpleDecay->addTransition( new GateSimplifiedDecayTransition(0,-1, 1.,
     mem_fn( &GateSimplifiedDecayTransition::issueNone )              )  );
  m_simpleDecay->addTransition( new GateSimplifiedDecayTransition(1, 2,
0.8690,  mem_fn( &GateSimplifiedDecayTransition::issueGamma),     0.722   )
 );
  m_simpleDecay->addTransition( new GateSimplifiedDecayTransition(1,-1,
1.0000,  mem_fn( &GateSimplifiedDecayTransition::issueGamma),     1.325   )
 );

  m_simpleDecay->addTransition( new GateSimplifiedDecayTransition(2,-1,
1.0000,  mem_fn( &GateSimplifiedDecayTransition::issueGamma),     0.602   )
 );
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opengatecollaboration.org/pipermail/gate-users/attachments/20201109/aedfbbc9/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: I124_decay_scheme
Type: application/octet-stream
Size: 192717 bytes
Desc: not available
URL: <http://lists.opengatecollaboration.org/pipermail/gate-users/attachments/20201109/aedfbbc9/attachment-0001.obj>


More information about the Gate-users mailing list