I have a problem about sensitive detector.
I’m using sensitive detector with hit collection as below
OASensitiveDetector* SensDi = new OASensitiveDetector(“OA_SD”,“OATrackerHitsCollection”);
SetSensitiveDetector("Hv7CEE_P1A_Log", SensDi, true); SetSensitiveDetector("Hv7CEE_P1B_Log", SensDi, true); SetSensitiveDetector("Hv7CEE_P1C_Log", SensDi, true); SetSensitiveDetector("Hv7CEE_P1D_Log", SensDi, true);
I have lots of sensitive volume about 10k. (names of LV same, Physical volumes differents.)
I created hit collection like geant4 examples. (like B2 or B4 or extended examples.)
I use 20 cores (intel xeon), and 48 gb ram.
I’m starting run and ram is slowly increasing. After 200 event ram is completely fill.(about 40 gb)
And I try different scenario, I closed all sensitives and I wrote stepping action file. I choose LV what i want wit if condition.(prestep point like senstivie volume).
And I started again. Memory (ram) filling about 2 gb! with 20 core.this number is very good. But simulation worked slower than sd scenario.
After these tests, I wondered, do B4 (B4c) example have this problem?
And … yes. I tried pi+ and 100 GeV for more memory usage. And memory increasing again slowly. (3 core, starting with 1 gb ram usage and ending with about 2 gb ram usage for 10000 event) WHY? why it is increasing?
As a result, I know this problem about mt mode and hit collection.
I prefer to using sensitive detector than stepping action method.
And I don’t know where is the problem in mt and hit collection.
(Also I tried closed to data collecting (root file) during testing.)
Geant4 10.6 and root 6.24/06 with no-vis just macro.
Thank you for your attention and help.