Hi,
I am trying to define a matrix calorimeter.
I have 5×5 modules,I want to get information for each one.
This is my code:
“
//colar/
auto calorimeterS
= new G4Box("Calorimeter", // its name
calorSizeXY/2, calorSizeXY/2, layerThickness/2); // its size
auto calorLV
= new G4LogicalVolume(
calorimeterS, // its solid
defaultMaterial, // its material
"Calorimeter"); // its name
new G4PVPlacement(
0, // no rotation
G4ThreeVector(), // at (0,0,0)
calorLV, // its logical volume
"Calorimeter", // its name
worldLV, // its mother volume
false, // no boolean operation
0, // copy number
fCheckOverlaps); // checking overlaps
auto layerS
= new G4Box("Layer", // its name
2.*cm/2, calorSizeXY/2, layerThickness/2); // its size
auto layerLV
= new G4LogicalVolume(
layerS, // its solid
defaultMaterial, // its material
"Layer"); // its name
new G4PVReplica(
"Layer", // its name
layerLV, // its logical volume
calorLV, // its mother
kXAxis, // axis of replication
midLayers, // number of replica
2.*cm); // witdth of replica // another
auto aS
= new G4Box("a", // its name
2.*cm/2, 2.*cm/2,layerThickness/2); // its size auto aLV
= new G4LogicalVolume(
aS, // its solid
defaultMaterial, // its material
"a"); // its name
new G4PVReplica(
"Layer", // its name
aLV, // its logical volume
layerLV, // its mother
kYAxis, // axis of replication
midLayers, // number of replica
2.*cm); // witdth of replice // Gap
auto gapS
= new G4Box("Gap", // its name
1.*cm, 1*cm, layerThickness/2); // its size
auto gapLV
= new G4LogicalVolume(
gapS, // its solid
gapMaterial, // its material
"Gap"); // its name
fGapPV
= new G4PVPlacement(
0, // no rotation
G4ThreeVector(0., 0., -0.), // its position
gapLV, // its logical volume
"Gap", // its name
aLV, // its mother volume
false, // no boolean operation
0, // copy number
fCheckOverlaps); // checking overlaps
”
The copy number in the output is 0 to 4. But I think each module should have own copynumber. How get information for each one. Can you help me modify it?
Best!