Loading...
Searching...
No Matches
Public Member Functions | List of all members
RE05CalorimeterParallelWorld Class Reference

#include <RE05CalorimeterParallelWorld.hh>

Inheritance diagram for RE05CalorimeterParallelWorld:
G4VUserParallelWorld

Public Member Functions

 RE05CalorimeterParallelWorld (G4String &parallelWorldName)
 
virtual ~RE05CalorimeterParallelWorld ()
 
virtual void Construct ()
 
virtual void ConstructSD ()
 

Detailed Description

Definition at line 36 of file RE05CalorimeterParallelWorld.hh.

Constructor & Destructor Documentation

◆ RE05CalorimeterParallelWorld()

RE05CalorimeterParallelWorld::RE05CalorimeterParallelWorld ( G4String parallelWorldName)

◆ ~RE05CalorimeterParallelWorld()

RE05CalorimeterParallelWorld::~RE05CalorimeterParallelWorld ( )
virtual

Definition at line 56 of file RE05CalorimeterParallelWorld.cc.

57{}

Member Function Documentation

◆ Construct()

void RE05CalorimeterParallelWorld::Construct ( )
virtual

Definition at line 61 of file RE05CalorimeterParallelWorld.cc.

62{
63 G4Material* dummyMat = 0;
64
65 // the ReadOut World:
66 G4VPhysicalVolume* ROWorldPhys = GetWorld();
67 G4LogicalVolume* ROWorldLog = ROWorldPhys->GetLogicalVolume();
68
69 // Calorimeter volume:
70 G4VSolid* caloROtub
71 = new G4Tubs("caloROtub",fCaloTubs_rmin,fCaloTubs_rmax,
73 G4LogicalVolume* caloROlog
74 = new G4LogicalVolume(caloROtub,dummyMat,"caloROlogical",0,0,0);
75// G4VPhysicalVolume* caloROphys =
76 new G4PVPlacement(0,G4ThreeVector(),caloROlog,"calROphysical",
77 ROWorldLog,false,0);
78
79 // -------------------------------
80 // Calorimeter readout division:
81 // -------------------------------
82 // Phi division first: 48 sectors
83 G4VSolid* caloROphiDivisionTub
84 = new G4Tubs("caloROphiDivision", fCaloCell_rmin, fCaloCell_rmax,
86 G4LogicalVolume* caloROphiDivisionLog
87 = new G4LogicalVolume(caloROphiDivisionTub, dummyMat,
88 "caloROphiDivisionLogical",0,0,0);
89// G4VPhysicalVolume* caloROphiDivisionPhys =
90 new G4PVReplica("caloROphiDivisionPhysical", caloROphiDivisionLog,
91 caloROlog, kPhi, fSegmentsinPhi, fCaloCell_dphi);
92 // then z division: 20 slices:
93 G4VSolid* caloROcellTub
94 = new G4Tubs("caloROcellTub", fCaloRing_rmin, fCaloRing_rmax,
96 G4LogicalVolume * caloROcellLog
97 = new G4LogicalVolume(caloROcellTub, dummyMat, "caloROcellLogical",0,0,0);
98// G4VPhysicalVolume * caloROcellPhys =
99 new G4PVReplica("caloROcellPhysical", caloROcellLog, caloROphiDivisionLog,
100 kZAxis, fSegmentsinZ,2.*fCaloRing_dz);
101}
G4double fCaloTubs_dphi
G4double fCaloCell_sphi
G4double fCaloCell_dz
G4double fCaloTubs_rmin
G4double fCaloRing_dphi
G4double fCaloCell_rmax
G4double fCaloRing_dz
G4double fCaloRing_rmin
G4double fCaloRing_sphi
G4double fCaloCell_dphi
G4int fSegmentsinZ
G4int fSegmentsinPhi
G4double fCaloTubs_sphi
G4double fCaloTubs_rmax
G4double fCaloTubs_dz
G4double fCaloRing_rmax
G4double fCaloCell_rmin

◆ ConstructSD()

void RE05CalorimeterParallelWorld::ConstructSD ( )
virtual

Definition at line 105 of file RE05CalorimeterParallelWorld.cc.

106{
107 G4String calorimeterSDname = "/mydet/calorimeter";
108 RE05CalorimeterSD * calorimeterSD = new RE05CalorimeterSD(calorimeterSDname);
109 G4SDManager::GetSDMpointer()->AddNewDetector(calorimeterSD);
110 SetSensitiveDetector("caloROcellLogical",calorimeterSD);
111}

The documentation for this class was generated from the following files:

Applications | User Support | Publications | Collaboration