Message: G4PVRelica Problem when particle crossing in "repliacation direction" Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

Question G4PVRelica Problem when particle crossing in "repliacation direction" 

Keywords: G4PVReplica, pixel, replica 2dim
Forum: Geometry
Date: 14 Sep, 2005
From: Daniel Britzger <britzger@mppmu.mpg.de>

Hi,

we are simulating a silicon Pixel Detector with a pixel size of 25x25um.
Therefore we are using G4PVReplica in 2dim. Actually everything seems to be
fine unless a particle doesn't leave the volume (sensor) "on the side".
If it is crossing straight through the 100x13x0.05mm volume it is no problem.
Only if the particle is leaving on the 0.05mm height side. This is only
happening in replication direction (for example if we comment out the second
replication).
The error, printed out from our framework (Mokka) reads:

WARNING - G4Navigator::ComputeStep()
          Track stuck, not moving for 10 steps
          in volume -finalSensor- at point
(15.02488585,4.687500053,0.0001899235146)
          direction: (-1.637021225e-05,0.9999999997,1.871019949e-05).
          Potential geometry or navigation problem !
          Trying pushing it of 9e-10 mm ...
ERROR - G4Navigator::ComputeStep()
        Track stuck, not moving for 25 steps
        in volume -finalSensor- at point
(15.02488585,4.687500066,0.0001899235149)
        direction: (-1.637021225e-05,0.9999999997,1.871019949e-05).

*** G4Exception : StuckTrack
      issued by : G4Navigator::ComputeStep()
Stuck Track: potential geometry or navigation problem.
*** Event Must Be Aborted



my code is:
  // one single pixel
  G4VSolid* pixelSolid = new G4Box("pixelSolid",pixel_size_half_x*mm,pixel_size_half_y*mm,sensor_half_thickness*mm);
  G4LogicalVolume* pixelVolume = new G4LogicalVolume(pixelSolid,CGAGeometryManager::GetMaterial(sensor_material),"pixelVolume");

  //
  // MotherLogicalVolume
  G4LogicalVolume* sensor = new G4LogicalVolume(sensorSolid,CGAGeometryManager::GetMaterial(sensor_material),"sensor");
  G4LogicalVolume* sensor = new G4LogicalVolume(sensorSolid,CGAGeometryManager::GetMaterial(sensor_material),"sensor");

  //ReplicaLogicalVolume for kYAxis replication
  G4VSolid* pixelRowSolid = new G4Box("pixelRowSolid",sensor_size_half_x*mm,pixel_size_half_y*mm,sensor_half_thickness*mm);
  G4LogicalVolume* pixelRowVolume = new G4LogicalVolume(pixelRowSolid,CGAGeometryManager::GetMaterial(sensor_material),"pixelRowVolume");
  //replication of pixelRowVolume inside MotherLogicalVolume(sensor)
  G4PVReplica* row = new G4PVReplica("pixelRowReplica",pixelRowVolume,sensor,kYAxis,(int)(sensor_size_half_y/pixel_size_half_y),pixel_size_half_y*2*mm,0);
  //repliation of pixels insode row
  G4PVReplica* finalSensor = new G4PVReplica("finalSensor",pixelVolume,row,kXAxis,(int)(sensor_size_half_x/pixel_size_half_x),pixel_size_half_x*2*mm,0);


So my question:
Has anybody ever used G4PVReplica within 2dim and knows the problem and
a solution? Or is anything wrong with my code?

i'm very happy for every answer

Greetings,
Daniel

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

 Add Message Add Message
to: "G4PVRelica Problem when particle crossing in "repliacation direction""

 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 ]