Developing #339

Переработка классов генераторов ионов

Added by Mikhail Kozlov almost 5 years ago. Updated almost 5 years ago.

Status:ОткрытаStart date:07/11/2019
Priority:НормальныйDue date:
Assignee:Mikhail Kozlov% Done:

0%

Category:-
Target version:-

Description

Текущая архитектура наследования классов FairIonGenerator Нельзя написать лаконичное решение для пучка с индивидуальными характеристиками (когда энергитические и пространственные параметры разные; в частности, не привязаны к требованию равенства магнитной жесткости) без копирования кода родительских классов.
Решение:
1) Функционал ERIonMixGenerator перенести в класс ERIonGenerator, а класс ERIonMixGenerator оставить как legacy, чтобы затем вовсе удалить.
2) Сущность "главный ион" остается. На его магнитную жесткость будут ровняться ионы примесей, если потребуется.
3) Написать класс для задания всех характеристик иона ERIon (класс без логики обработки, только храние информации).
4) Дописать переименование (названия заданного пользователем) для ионов с парметрами Z, A, Q из списка:
 
Cherenkov             50000050 Mass:   0.0000 Width (GeV): 0.0000e+00 Charge:   0.0
FeedbackPhoton        50000051 Mass:   0.0000 Width (GeV): 0.0000e+00 Charge:   0.0
GenericIon            50000060 Mass:   0.9383 Width (GeV): Stable Charge:   1.0
Deuteron              1000010020 Mass:   1.8711 Width (GeV): Stable Charge:   3.0
Triton                1000010030 Mass:   2.8094 Width (GeV): 1.6916e-33 Charge:   3.0
Alpha                 1000020040 Mass:   3.7284 Width (GeV): Stable Charge:   6.0
HE3                   1000020030 Mass:   2.8094 Width (GeV): 0.0000e+00 Charge:   6.0
AntiDeuteron          -1000010020 Mass:   1.8756 Width (GeV): Stable Charge:  -3.0
AntiTriton            -1000010030 Mass:   2.8089 Width (GeV): Stable Charge:  -3.0
AntiAlpha             -1000020040 Mass:   3.7274 Width (GeV): Stable Charge:  -6.0
AntiHE3               -1000020030 Mass:   2.8084 Width (GeV): Stable Charge:  -6.0
5H                    1000010050 Mass:   4.6899 Width (GeV): Stable Charge:   3.0
6He                   1000020060 Mass:   5.6055 Width (GeV): 0.0000e+00 Charge:   6.0
 
чтобы FairRoot не валился. В лог выводить warning, что произошло преименование.
 
5) Дописать интрефейс для генерации исходной позиции пучка в виде круглого пятна.

History

#1 Updated by Sergey Belogurov almost 5 years ago

Откуда следует, что фукционал  существущего класса недостаточен?

Вообще, откуда ноги растут у этой задачи?  Есть же срочные задачи на повестке дня!

Почему-то вспомнилось перекладывание асфальта в Москве каждые полгода.

 

Also available in: Atom PDF