Message: GEANT4 tracking does not see part of my geometry Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

Question GEANT4 tracking does not see part of my geometry 

Keywords: Geometry, Tracking, Sensitive Detector
Forum: Geometry
Date: 15 Apr, 2008
From: Aram <ateymura@yahoo.com>

I have a DetectorConstruction class with a "Construct" method that looks like

 G4VPhysicalVolume* DetectorConstruction::Construct()
{ 
  fWorldLength= 9.144*m;

  //------------------------------ 
  // World
  //------------------------------ 

  G4double HalfWorldLength = 0.5*fWorldLength;

  G4GeometryManager::GetInstance()->SetWorldMaximumExtent(fWorldLength);
  G4cout << "Computed tolerance = "
         << G4GeometryTolerance::GetInstance()->GetSurfaceTolerance()/mm
         << " mm" << G4endl;

  solidWorld= new G4Box("world",HalfWorldLength,HalfWorldLength,HalfWorldLength);
  logicWorld= new G4LogicalVolume( solidWorld, G4Material::GetMaterial("Material_Air"), "World", 0, 0, 0);

  //  Must place the World Physical volume unrotated at (0,0,0).
  // 
  physiWorld = new G4PVPlacement(0,               // no rotation
                                 G4ThreeVector(), // at (0,0,0)
                                 logicWorld,      // its logical volume
				 "World",         // its name
                                 0,               // its mother  volume
                                 false,           // no boolean operations
                                 0);              // copy number

  //---------------------------------
  // Calorimeter array construction
  //---------------------------------
  mydet = new HIND();
  mydet->construct(logicWorld, 0);

  //------------------------------ 
  // Target
  //------------------------------
  target = new Target();
  target->construct(logicWorld, 0);

  //------------------------------
  // Lead Shield 
  //------------------------------
  leadShield = new LeadShield();
  leadShield->construct(logicWorld, 0);
  //--------- Visualization attributes -------------------------------

  logicWorld->SetVisAttributes(G4VisAttributes::Invisible);  

return physiWorld; }

the mydet, the target, and the LeadShield are defined as separate classes. I was trying to setup a Sensitive Detector which is registered to a logical volume inside of "mydet" and noticed that the ProcessHit() method of the SD class is not being called though the Initialize() and the EndOfEvent() methods are. It looks like the daughter volumes of "mydet" are not seen by the tracking (I confirmed this with SteppingVerbose class borrowed from N02 example).

I am pretty sure I am missing something really simple (do I need to register "mydet" with G4GeometryManager or something?). I should probably mention that all the components of the setup are being drawn correctly by the OGLIX visualization.

Thanks in advance for any advise.

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

1 More: Re: GEANT4 tracking does not see part of my geometry   (Aram - 16 Apr, 2008)
(_ More: Re: GEANT4 tracking does not see part of my geometry   (Gabriele Cosmo - 17 Apr, 2008)
(_ Question: Re: GEANT4 tracking does not see part of my geometry   (Aram - 17 Apr, 2008)
1 None: Re: GEANT4 tracking does not see part of my geometry   (John Apostolakis - 17 Apr, 2008)
2 None: Re: GEANT4 tracking does not see part of my geometry   (Vladimir Grichine - 17 Apr, 2008)
 Add Message Add Message
to: "GEANT4 tracking does not see part of my geometry"

 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 ]