Commit 28e986ff authored by Alfonso's avatar Alfonso
Browse files

3 layer

parent dadada08
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -121,4 +121,4 @@
/gps/pos/rot2 1.000 0.000 -0.000
/gps/direction -0.000 -0.000 -1.000

/run/beamOn 10000000
/run/beamOn 100
+5 −15
Original line number Diff line number Diff line
@@ -348,7 +348,8 @@ void DetectorConstruction::DefineMaterials()
    G4Material* FR4 = new G4Material("FR4", density = 1.8*g/cm3, ncomponents=2);
    FR4 -> AddMaterial(G4_SILICON_DIOXIDE, fractionmass=60*perCent);
    FR4 -> AddMaterial(Epoxy_Resin,  fractionmass=40*perCent);
    fr4Material = FR4; // G4Material::GetMaterial("FR4");
    fr4Material = FR4;
    //fr4Material = G4Material::GetMaterial("FR4");

	// Default materials of the World: vacuum
	defaultMaterial  = Vacuum;
@@ -591,7 +592,7 @@ G4VPhysicalVolume* DetectorConstruction::Construct()
    G4double pcb_side_x = coll_side_x;
    G4double pcb_side_y = coll_side_y;
    G4double pcb_thick  = 1.6 *mm;       // ! si potrebbe mettere come parametro
    G4double pcb_height = optCoupler_thick+sdd_thick+pcb_thick;
    G4double pcb_height = optCoupler_thick+sdd_thick;

    G4Box* pcb_container_box = new G4Box("pcb_container_box", pcb_side_x/2., pcb_side_y/2., pcb_thick/2.);
    
@@ -607,11 +608,9 @@ G4VPhysicalVolume* DetectorConstruction::Construct()
                                                            false,
                                                            0);


	// Solid
    G4double pcb_elem_side_x = 3.*mm;
    G4double pcb_elem_side_y = pcb_side_y;
    G4cout << "Materiale FR4: " << fr4Material->GetName() << G4endl;

	G4Box* pcb_box = new G4Box("pcb_box", pcb_elem_side_x/2., pcb_elem_side_y/2., pcb_thick/2.);
	
@@ -619,19 +618,10 @@ G4VPhysicalVolume* DetectorConstruction::Construct()
	pcb_log = new G4LogicalVolume(pcb_box, fr4Material, "pcb_log", 0, 0, 0);
    
	// Physical
    G4int n_rep = (n_side-1)/2; // repliche di PCB usando il numero di scintillatori per side
    G4int n_rep = (n_side-1)/2;

	pcbParam = new PCBParameterisation(pcb_elem_side_x, pcb_elem_side_y, pcb_height, pcb_thick, n_rep);
	
   G4cout << " pcb_elem_side_x " << pcb_elem_side_x/mm << G4endl;
   G4cout << " pcb_elem_side_y " << pcb_elem_side_y/mm << G4endl;
   G4cout << " pcb_height " << pcb_height << G4endl;
   G4cout << " pcb_thick " << pcb_thick/mm << G4endl;

   G4cout << " pcb_sie_x " << pcb_side_x << G4endl;
   G4cout << " n_rep " << n_rep << G4endl;

	
	pcb_phys = new G4PVParameterised("pcb_phys",       	// their name
									 pcb_log,    	        // their logical volume
									 pcb_container_log,  // Mother logical volume
@@ -988,7 +978,7 @@ G4VPhysicalVolume* DetectorConstruction::Construct()
	G4Colour white   (1.0, 1.0, 1.0);
	G4Colour red     (1.0, 0.0, 0.0);
	G4Colour green   (0.0, 1.0, 0.0);
    G4Colour dgreen  (0.0, 0.8, 0.0);
    G4Colour dgreen  (0.0, 0.6, 0.0);
	G4Colour blue    (0.0, 0.0, 1.0);
	G4Colour yellow  (1.0, 1.0, 0.0);
	G4Colour magenta (1.0, 0.0, 1.0);
+1 −7
Original line number Diff line number Diff line
@@ -28,13 +28,7 @@ void PCBParameterisation::ComputeTransformation (const G4int copyNo, G4VPhysical
    G4double yPos = 0.*cm;
    G4double zPos = fHeight;

    xPos = (-fLength)/2. +1.*cm  + copyNo* 1.*cm; //sono al centro della barra capisci se indietreggiare di mezza barra

    G4cout << " copyNo " << copyNo << G4endl;
    G4cout << " fSpacing " << fSpacing << G4endl;
    G4cout << " zPos " << zPos << G4endl;
    G4cout << " fLength " << fLength << G4endl;
    G4cout << " fSpacing " << fSpacing << G4endl;
    xPos = (-fLength)/2. +1.*cm  + copyNo* 1.*cm;

    physVol->SetTranslation(G4ThreeVector(xPos, yPos, zPos));
    
(471 KiB)

File changed.

No diff preview for this file type.

+1 −1
Original line number Diff line number Diff line
@@ -42,7 +42,7 @@ int main(int argc, char **argv)
#else
    G4RunManager * runManager = new G4RunManager;
#endif
    
    //runManager->SetVerboseLevel(2);
    // Set mandatory initialization classes
    runManager->SetUserInitialization(new DetectorConstruction());
    runManager->SetUserInitialization(new PhysicsList());