Revision as of 16:57, 28 Aug 2006 80.58.205.47 (Talk | contribs) http://www.ringtones-rate.com ← Go to previous diff |
Current revision Orloffm (Talk | contribs) И последнее |
||
Line 1: | Line 1: | ||
- | <u style="display: none;">... no changes ... no changes ... no changes ... no changes ... no changes ... no changes ... no changes ... no changes ... no changes ... no changes ... no changes ... <a href='http://www.ringtones-rate.com'>mp3 ringtones</a> : [http://www.ringtones-rate.com real ringtones] - [HTTP://www.ringtones-rate.com real ringtones] : [motorola ringtones|http://www.ringtones-rate.com] - [motorola ringtones|HTTP://www.ringtones-rate.com] : http://www.ringtones-rate.com/tones/ : [[http://www.ringtones-rate.com tracfone ringtones]] : [[http://www.ringtones-rate.com | qwest ringtones]] : "nextel ringtones" http://www.ringtones-rate.com : [http://www.ringtones-rate.com|funny ringtones] </u>==Использование стандартных пакетов физики в GEANT4== | + | ==Использование стандартных пакетов физики в GEANT4== |
==Зачем?== | ==Зачем?== | ||
Line 53: | Line 53: | ||
А потом добавляете еще вот в мейкфайл: | А потом добавляете еще вот в мейкфайл: | ||
- | CPPFLAGS+=-I$(G4INSTALL)/physics_lists/hadronic/QGSP/include | + | CPPFLAGS+=-I$(G4INSTALL)/physics_lists/hadronic/QGSP/include \ |
- | -I$(G4INSTALL)/physics_lists/hadronic/Packaging/include | + | -I$(G4INSTALL)/physics_lists/hadronic/Packaging/include |
EXTRALIBS+=-L$(G4INSTALL)/lib/plists/Linux-g++/ -lQGSP -lPackaging | EXTRALIBS+=-L$(G4INSTALL)/lib/plists/Linux-g++/ -lQGSP -lPackaging | ||
Line 67: | Line 67: | ||
===И последнее=== | ===И последнее=== | ||
- | Если линкер вопит об ошибках, зайдите в папку $G4INSTALL/physics_lists и наберите команду make. | + | Если линкер вопит об ошибках, зайдите в папку <tt>$G4INSTALL/source/physics_lists</tt> и наберите команду <tt>make</tt>. |
- | + | ||
==Еще ссылки по теме== | ==Еще ссылки по теме== | ||
# [http://vserv.sinp.msu.ru/w/images/static/LCG4Physics.ppt Очень полезная и поучительная презентация] | # [http://vserv.sinp.msu.ru/w/images/static/LCG4Physics.ppt Очень полезная и поучительная презентация] | ||
- | # [http://vserv.sinp.msu.ru/w/images/tutorial.had.g4.ppt Еще одна] | + | # [http://vserv.sinp.msu.ru/w/images/static/tutorial.had.g4.ppt Еще одна] |
- | # [http://vserv.sinp.msu.ru/w/images/wellisch_3.pdf И еще] | + | # [http://vserv.sinp.msu.ru/w/images/static/wellisch_3.pdf И еще] |
Но первая, конечно, вне конкуренции. | Но первая, конечно, вне конкуренции. |
Current revision
Содержание |
Использование стандартных пакетов физики в GEANT4
Зачем?
В третьем, фортрановском, geant (http://wwwasd.web.cern.ch/wwwasd/geant/)'е никогда не возникало необходимости детально подстраивать работу неэлектромагнитных процессов. Да и вообще практически не нужно было менять внутренние параметры физики, поскольку основной задачей пакета было корректно моделировать распространение частиц в веществе — оно обусловлено, в основном, электромагнитным взаимодействием. Конечно, существовал еще пакет адронной физики GHEISHA, но и он был не особенно сложен в использовании.
В GEANT4 все изменилось существенным образом. Система теперь должна с максимальной точностью описывать по возможности все явления, происходящие в реальных детекторах, а это значит, что к простым электромагнитным моделям добавили еще множество разных других: оптические, адронные, возможно, еще какие-нибудь, о которых я даже не слышал. Более того, почти для каждого отдельного физического явления, сегодня существует несколько расчетных моделей (здесь под словом «модель» прежде всего понимается класс на [[Си++]], входящий в состав G4, численно описывающий тем или иным образом некоторое явление), и для корректной симуляции реальной установки необходимо попробовать их все, с тем чтобы понять, какая больше подходит в данном конкретном случае.
Но и это еще не все. Многие модели просто несовместимы друг с другом на программном уровне, а некоторые из них совсем никак не документированы. Например, для стандартной задачи GEANT4, моделирования прохождения частиц не очень большой энергии (порядка МэВов) через вещество, существует как минимум четыре разных набора процессов:
- стандартный, включающий G4eIonisation и т. п.;
- набор процессов LowEnergy, использующий базу данных экспериментальных сечений, куда входят такие процессы, как G4LowEnergyeIonisation;
- стандартные процессы из версий 5.2 и 7.1
Однако для этих вещей в документации четко сказано, когда их должны применять, и проблем с их применением, на моей памяти, не возникало.
Дело обстоит гораздо хуже с адронными процессами. На картинке показана лишь часть из имеющихся моделей и их рабочая область энергии. Набор моделей так широк, что запутаться в них проще простого, плюс каждая имеет какой-нибудь параметр, который неизвестно из каких-соображений устанавливать. Например модель G4LElastic имеет параметры MinEnergy и MaxEnergy, и черт его разберет, во что их устанавливать. Плюс ко всему, количество процессов и частиц, которые необходимо зарегистрировать для корректного описания жизни, совершенно сумасшедшее. В общем, подводя черту, можно резюмировать: руками описывать адронную физику чревато. Ошибками, усталостью, головной болью и т. п.
Как?
Проблемы обозначены, поговорим о решении. Оно существует и, притом, удивительно простое и удобное. В папке G4INSTALL вы найдете директорию physics_lists, а в ней — еще две: electromagnetic и hadronic. Это и есть то, что нам необходимо, уже включенное в состав GEANT4, начиная с версии 7. Electromagnetic — это разнообразные пакеты электомагнитных процессов, они не так интересны, а вот hadronic… О, там больше десятка различных наборов физики для самых разных применений. А как применять, о том я расскажу. Но сначала, коротко, о представленном разнообразии моделей.
Все пакеты в наборе hadronic снабжены именами. Это в общем-то не оригинально. Выгодно отличает их на фоне всеобщей серости тот факт, что в имени каждого закодирована его суть. Вот как ее расшифровать:
- LHEP: Low and High Energy Parameterized, это самая быстрая адронная модель, основанная на параметризации некоторых экспериментальных сечений;
- QGSP: Quark Gluon String, эта модель немного медленнее, но и результат значительно точнее
- FTFP: как расшифровывается, не знаю, но F точно отвечает за Fragmentation. Это как-то связвано со следующим заклинанием вуду: diffractive string excitation. Что это такое, я не знаю. Утверждается, что результат получается похожим на QGSP.
Плюс к этому в названии пакета обычно имеется еще несколько приставок.
- BIC и BERT — это соответственно Binary Cascade и Bertini Cascade. Первый лучше, но значительно медленнее.
- HP означает использование базы данных по прохождению нейтронов в веществе. Ее необходимо скачать отдельно с сайта G4.
- Что такое PRECO, LBE, EMV и LEAD для меня так и осталось полнейшей загадкой.
Как выбрать, глаза разбегаются
При таком разнообразии, как выбрать нужный, единственный и неповторимый, пакет, лучше всего нам подходящий? А очень просто. Скажем, необходимо нам промоделировать рождение всяческих разнообразных частиц в водородной мишени при попадании в нее пучка электронов с энергией, скажем, 12 ГэВ. Не теряя времени на бабские причитания, мы идем на этот (http://geant4.web.cern.ch/geant4/physics_lists/), очень полезный сайт, который Ханс-Петер Веллих (J. P. Wellisch) для нас специально сделал. Там, в табличке, видим, что наша задачка отлично подходит под категорию «Medium Energy Production Targets», идем по ссылке, и выясняется, что для счастья ничего нам не надо, а только подавай пакет QGSP.
Ну а как его подключить?
Да проще простого. Предположим, вы выбрали, как и я, пакет QGSP и желаете теперь использовать его в своей революционной высоконаучной работе. Для этого вам надо просто подключить его, как вы раньше подключали свой PhysicsList. В основном файле программы включаете необходимый заголовочный файл
#include <QGSP.hh>
А дальше, в коде, вместо
runManager->SetUserInitialization(new PhysicsList); // было
делаете
runManager->SetUserInitialization(new QGSP); // стало
А потом добавляете еще вот в мейкфайл:
CPPFLAGS+=-I$(G4INSTALL)/physics_lists/hadronic/QGSP/include \ -I$(G4INSTALL)/physics_lists/hadronic/Packaging/include EXTRALIBS+=-L$(G4INSTALL)/lib/plists/Linux-g++/ -lQGSP -lPackaging
И все! Вуаля, получаете безо всяких усилий оттестированный и отлаженный пакет адронной физики. В него при этом включены еще и электромагнитные процессы.
Еще можно задавать каты. В vis.mac добавляете строчку
/run/setCuts 10 mm
и все у вас работает с катами 10 мм.
Естественно все, здесь описанное, удивительным образом работает не только с QGSP, а и с любым из пакетов, только не забудьте поменять его имя в коде.
И последнее
Если линкер вопит об ошибках, зайдите в папку $G4INSTALL/source/physics_lists и наберите команду make.
Еще ссылки по теме
- Очень полезная и поучительная презентация (http://vserv.sinp.msu.ru/w/images/static/LCG4Physics.ppt)
- Еще одна (http://vserv.sinp.msu.ru/w/images/static/tutorial.had.g4.ppt)
- И еще (http://vserv.sinp.msu.ru/w/images/static/wellisch_3.pdf)
Но первая, конечно, вне конкуренции.