Revision as of 21:25, 28 Mar 2007 Orloffm (Talk | contribs) ← Go to previous diff |
Current revision Orloffm (Talk | contribs) |
||
Line 1: | Line 1: | ||
- | Абстрактный класс. Идея состоит в том, чтобы создать его конкретную реализацию (например, MyHit) и использовать её для сохранения нужной информации о каждом [[Step]]'е. Предлагается создать свою реализацию [[G4VSensitiveDetector]] (например, MySensitiveDetector) и прикрепить её объект к логическому объёму детектора. Тогда при каждом степе будет вызываться функция ProcessHits, реализованная в MySensitiveDetector. В ней можно создавать новые объекты MyHit и копировать в них нужную информацию из объекта [[G4Step]], являющегося аргументом этой функции. | + | Абстрактный класс. Идея состоит в том, чтобы создать его конкретную реализацию (например, MyHit) и использовать её для сохранения нужной информации о каждом [[Step]]'е. |
+ | |||
+ | Предлагается создать свою реализацию [[G4VSensitiveDetector]] (например, MySensitiveDetector) и прикрепить её объект к логическому объёму детектора. Тогда при каждом степе будет вызываться функция ProcessHits, реализованная в MySensitiveDetector. В ней можно создавать новые объекты MyHit и копировать в них нужную информацию из объекта [[G4Step]], являющегося аргументом этой функции. | ||
+ | |||
+ | В примерах также любят делать вот такую штуку для хранения хитов: | ||
+ | typedef G4THitsCollection<MyHit> MyHitsCollection; | ||
+ | |||
+ | В MySensitiveDetector помимо ProcessHits нужно также реализовать функции Initialize(G4HCofThisEvent*) и EndOfEvent(G4HCofThisEvent*). [[G4HCofThisEvent]] --- класс, хранящий указатели на объекты G4THitsCollection. В примере из последней ссылки в Initialize создаётся объект MyHitsCollection и сохраняется в переданном функции объекте G4HCofThisEvent. В ProcessHits создаются хиты и добавляются в эту MyHitsCollection. EndOfEvent имеет пустое тело. | ||
== Смотри также == | == Смотри также == | ||
- | [[http://geant4.cern.ch/bin/SRM/G4GenDoc.exe.pl?flag=2&FileName=G4VHit.hh&FileDir=digits_hits/hits/include|Software reference manual]] - общие слова | + | [http://geant4.cern.ch/bin/SRM/G4GenDoc.exe.pl?flag=2&FileName=G4VHit.hh&FileDir=digits_hits/hits/include Software reference manual] - общие слова |
- | [[http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/Detector/hit.html|Application Developer]] - пример реализации | + | [http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/Detector/hit.html Application Developer] - пример реализации |
- | [[http://www.ge.infn.it/geant4/training/siena_oct2006/readout.ppt|Short Course 2006]] - пример взаимодействия с Sensitive Detector | + | [http://www.ge.infn.it/geant4/training/siena_oct2006/readout.ppt Short Course 2006] - пример взаимодействия с Sensitive Detector |
Current revision
Абстрактный класс. Идея состоит в том, чтобы создать его конкретную реализацию (например, MyHit) и использовать её для сохранения нужной информации о каждом Step'е.
Предлагается создать свою реализацию G4VSensitiveDetector (например, MySensitiveDetector) и прикрепить её объект к логическому объёму детектора. Тогда при каждом степе будет вызываться функция ProcessHits, реализованная в MySensitiveDetector. В ней можно создавать новые объекты MyHit и копировать в них нужную информацию из объекта G4Step, являющегося аргументом этой функции.
В примерах также любят делать вот такую штуку для хранения хитов:
typedef G4THitsCollection<MyHit> MyHitsCollection;
В MySensitiveDetector помимо ProcessHits нужно также реализовать функции Initialize(G4HCofThisEvent*) и EndOfEvent(G4HCofThisEvent*). G4HCofThisEvent --- класс, хранящий указатели на объекты G4THitsCollection. В примере из последней ссылки в Initialize создаётся объект MyHitsCollection и сохраняется в переданном функции объекте G4HCofThisEvent. В ProcessHits создаются хиты и добавляются в эту MyHitsCollection. EndOfEvent имеет пустое тело.
Смотри также
Software reference manual (http://geant4.cern.ch/bin/SRM/G4GenDoc.exe.pl?flag=2&FileName=G4VHit.hh&FileDir=digits_hits/hits/include) - общие слова
Application Developer (http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/Detector/hit.html) - пример реализации
Short Course 2006 (http://www.ge.infn.it/geant4/training/siena_oct2006/readout.ppt) - пример взаимодействия с Sensitive Detector