Creating many copies of a pixelated detector

Hi all,

We (@souravspace and I) want to create a detector system that has multiple copies of a pixelated detector “module”. We would like to have some suggestions in this regard. The system we want to create will have the following structure:

  • An individual detector “module” composed of a single CZT wafer with pixels defined electronically. One added complexity here is that not all pixels have same size. The edge and corner pixels have a slightly different size than the others
  • A detector “box” consisting of 20 such modules in a 4 x 5 planar arrangement.
  • Each detector box will then have 13 placements with each having different translation and rotation.

We first want to test and verify the application at the “detector box” level. That is with 4 x 5 modules only and then go to the full system level.

We have read the answers - Creating a pixelated detector and Large number of Logical Volumes and they talk about two ways of creating a pixelated detector

  1. Use replicas or parameterized volume to define a single module with one single LV and attach a SD to it to record the deposits.
  2. Make a single wafer LV volume and attach an SD to it with the pixelation defined inside the SD.

Now since we want to create multiple copies of such detector and later a translation and rotation for the detector box assembly, we would like to know which out of the two would be the efficient way (coding wise, memory wise and tracking wise)? Or may be if there is a completely different approach for such a complex case?


Define one single module with G4PVReplica, then a for loop method for copies is okay.