|Message: Which classes will be deleted automatically when G4RunManager is deleted?||Not Logged In (login)|
Click on the Forum title, e.g. on the "Forums by Category" page, to read a sequence of postings to the Forum and its threads all in one page. If you are only interested in one thread or the thread following a specific posting, click the thread or the posting, which takes you to a smaller page, which contains only the part you are interested in and may be easier to navigate.
Messages are "chained" if there are only replies at the first level, i.e. 1/1.html, 1/1/1.html etc. In case of "chained" messages the message number is replaced by the icon and there is no indentation.
Inline: Display the subject line only or also the text of the posting(s); for the choice "All" the "Outline" choices are switched off.
|1||0||1||no text / full text of posting|
|2||1||All||text for level 1 only / text for All postings|
Outline: Choose the depth of the posting thread, successive toggle controls provide increasing detail.
|1||2||1||2 levels / 1 level (original posting)|
|2||3||2||3 levels / 2 levels|
|3||3||All||3 levels / all levels (all postings)|
The Geant4 User's Guide for Application Developers tells us in pager 2 the follows:
When G4RunManager is created, the other major manager classes are also created. They are deleted automatically when G4RunManager is deleted.
I have a question here: who are "the other major manager classes"?. Namely, which classes will be deleted when G4RunManager is deleted?
G4RunManager *runManager = new G4RunManager;
AnalysisManager *analysis = new AnalysisManager();
DetectorConstruction *det = new DetectorConstruction; runManager->SetUserInitialization(det);
physicsList *physics = new physicsList; runManager->SetUserInitialization(physics);
PrimaryGeneratorAction *primarygun = new PrimaryGeneratorAction(analysis); runManager->SEtUseAction(primarygun);
RunAction *runact = new RunAction(analysis); runManager->SetUserAction(runact);
EventAction *eventact = new EvetnAction(analysis); runManager->SetUserAction(analysis);
SteppingAction *stepact = new SteppingAction(det,eventact); runManager->SetUserAction(stepact);
AnalysisManager is a class to record information I wanted generated by simulation.
In my opinion, det, physics, primarygun, runact, eventact and stepact will be deleted when runManager is deleted, and I have to delete analysis manually. But program will echo "***Break*** segmentaion violation" if
delete analysis; delete runManager;
and if I commented "delete analysis", that error disappeared.
Why is that? Do all the class created before "runManager->Initialize()" will be deleted automatically when runManager is deleted?
Any help will be appreciated!