Message: Re: RE: Modifying the geometry via messenger class Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

None Re: RE: Modifying the geometry via messenger class 

Forum: Geometry
Re: Question Modifying the geometry via messenger class (Lukas Schulte)
Re: None RE: Modifying the geometry via messenger class (Makoto Asai)
Date: 28 Dec, 2010
From: Lukas Schulte <Lukas Schulte>

Hi John, Makoto!

Thanks for your replies, my mistake was that I thought that /run/geometryModified would re-construct the detector. Now I do it as in example N03. This gives me this warning each time I update the geometry:

Obsolete world logical volume is removed from the default region.
World is registered to the default region.
G4PhysicalVolumeModel::Validate() called.
  Volume of the same name and copy number ("World", copy 0) still exists and is being used.
  WARNING: This does not necessarily guarantee it's the same
  volume you originally specified in /vis/scene/add/.

Which I ignore... Does this any harm?

But more important is my sensitive detector. Makoto, you told me (and others who had the same problem, as I found in older posts) to make sure that the sensitive detector pointer is deleted and reset to the new volumes. In all the other posts the people said this fixed their problem, but I'm not quite sure how to do it properly.

I tried this in the construct method:

  G4SDManager* sdManager = G4SDManager::GetSDMpointer();
  if(pSensitiveDetector)
  {
     delete pSensitiveDetector;
  }
  pSensitiveDetector = new I3PMTSensitiveDetector("domPMT", this);
  sdManager->AddNewDetector(pSensitiveDetector);
  I3DOM_log->SetSensitiveDetector(pSensitiveDetector);

pSensitiveDetector is a pointer to a I3PMTSensitiveDetector (my sensitive detector class) and a member of my DetectorConstruction.

I3DOM_log is the logical volume of my sensitive detector which should be cleared by G4LogicalVolumeStore::GetInstance()->Clean(); at the beginning of Construct() and re-constructed later on (before I assign the sensitive detector).

Unfortunately, this doesn't work, my detector doesn't see any hits. But it does work if I use the default configuration and do not rebuild the detector before /run/beamOn, so in principle the detector is OK.

So how exactly do I have to update the sensitive detector pointer?

Sorry if this is a dumb question, I am quite fresh in computer programming. Actually this Geant4 is kind of my first program ever...

Thank you again, I'm looking forward to your helpful answers!

Lukas

Inline Depth:
 1 1
 All All
Outline Depth:
 1 1
 2 2
 All All
Add message: (add)

1 More: Re: RE: Modifying the geometry via messenger class   (Lukas Schulte - 04 Jan, 2011)
(_ None: Re: RE: Modifying the geometry via messenger class   (Michael H. Kelsey - 05 Jan, 2011)
 Add Message Add Message
to: "Re: RE: Modifying the geometry via messenger class"

 Subscribe Subscribe

This site runs SLAC HyperNews version 1.11-slac-98, derived from the original HyperNews


[ Geant 4 Home | Geant 4 HyperNews | Search | Request New Forum | Feedback ]