Geant4  10.02.p03
RE01CalorimeterROGeometry Class Reference

#include <RE01CalorimeterROGeometry.hh>

Inheritance diagram for RE01CalorimeterROGeometry:
Collaboration diagram for RE01CalorimeterROGeometry:

Public Member Functions

 RE01CalorimeterROGeometry ()
 
 RE01CalorimeterROGeometry (G4String)
 
virtual ~RE01CalorimeterROGeometry ()
 
- Public Member Functions inherited from G4VReadOutGeometry
 G4VReadOutGeometry ()
 
 G4VReadOutGeometry (G4String)
 
virtual ~G4VReadOutGeometry ()
 
G4int operator== (const G4VReadOutGeometry &right) const
 
G4int operator!= (const G4VReadOutGeometry &right) const
 
void BuildROGeometry ()
 
virtual G4bool CheckROVolume (G4Step *, G4TouchableHistory *&)
 
const G4SensitiveVolumeListGetIncludeList () const
 
void SetIncludeList (G4SensitiveVolumeList *value)
 
const G4SensitiveVolumeListGetExcludeList () const
 
void SetExcludeList (G4SensitiveVolumeList *value)
 
G4String GetName () const
 
void SetName (G4String value)
 
G4VPhysicalVolumeGetROWorld () const
 

Protected Member Functions

virtual G4VPhysicalVolumeBuild ()
 
- Protected Member Functions inherited from G4VReadOutGeometry
 G4VReadOutGeometry (const G4VReadOutGeometry &right)
 
G4VReadOutGeometryoperator= (const G4VReadOutGeometry &right)
 
virtual G4bool FindROTouchable (G4Step *)
 

Private Attributes

G4double fExpHall_x
 
G4double fExpHall_y
 
G4double fExpHall_z
 
G4double fTrkTubs_rmax
 
G4double fTrkTubs_rmin
 
G4double fTrkTubs_dz
 
G4double fTrkTubs_sphi
 
G4double fTrkTubs_dphi
 
G4int fNotrkLayers
 
G4double fTracker_radius [5]
 
G4double fTracker_thick
 
G4double fTracker_length [5]
 
G4double fCaloTubs_rmax
 
G4double fCaloTubs_rmin
 
G4double fCaloTubs_dz
 
G4double fCaloTubs_sphi
 
G4double fCaloTubs_dphi
 
G4int fNocaloLayers
 
G4double fAbsorber_thick
 
G4double fScinti_thick
 
G4int fSegmentsinZ
 
G4double fCaloRing_rmax
 
G4double fCaloRing_rmin
 
G4double fCaloRing_dz
 
G4double fCaloRing_sphi
 
G4double fCaloRing_dphi
 
G4int fSegmentsinPhi
 
G4double fCaloCell_rmax
 
G4double fCaloCell_rmin
 
G4double fCaloCell_dz
 
G4double fCaloCell_sphi
 
G4double fCaloCell_dphi
 

Additional Inherited Members

- Protected Attributes inherited from G4VReadOutGeometry
G4VPhysicalVolumeROworld
 
G4SensitiveVolumeListfincludeList
 
G4SensitiveVolumeListfexcludeList
 
G4String name
 
G4NavigatorROnavigator
 
G4TouchableHistorytouchableHistory
 

Detailed Description

Definition at line 37 of file RE01CalorimeterROGeometry.hh.

Constructor & Destructor Documentation

◆ RE01CalorimeterROGeometry() [1/2]

RE01CalorimeterROGeometry::RE01CalorimeterROGeometry ( )

◆ RE01CalorimeterROGeometry() [2/2]

RE01CalorimeterROGeometry::RE01CalorimeterROGeometry ( G4String  )

◆ ~RE01CalorimeterROGeometry()

RE01CalorimeterROGeometry::~RE01CalorimeterROGeometry ( )
virtual

Definition at line 60 of file RE01CalorimeterROGeometry.cc.

61 {;}

Member Function Documentation

◆ Build()

G4VPhysicalVolume * RE01CalorimeterROGeometry::Build ( void  )
protectedvirtual

Implements G4VReadOutGeometry.

Definition at line 64 of file RE01CalorimeterROGeometry.cc.

65 {
66  // Material Information imported from NIST database.
67  //
69 
70  // A dummy material is used to fill the volumes of the readout geometry.
71  // ( It will be allowed to set a NULL pointer in volumes of such virtual
72  // division in future, since this material is irrelevant for tracking.)
73  G4Material* dummyMat = NISTman->FindOrBuildMaterial("G4_AIR");
74 
75  //Builds the ReadOut World:
76  G4Box *ROWorldBox = new G4Box("ROWorldBox",fExpHall_x,fExpHall_y,fExpHall_z);
77  G4LogicalVolume *ROWorldLog = new G4LogicalVolume(ROWorldBox, dummyMat,
78  "ROWorldLogical", 0, 0, 0);
79  G4PVPlacement *ROWorldPhys = new G4PVPlacement(0,G4ThreeVector(),
80  "ROWorldPhysical",
81  ROWorldLog,
82  0,false,0);
83  // Calorimeter volume:
84  G4VSolid * caloROtub
85  = new G4Tubs("caloROtub",fCaloTubs_rmin,fCaloTubs_rmax,
87  G4LogicalVolume * caloROlog
88  = new G4LogicalVolume(caloROtub,dummyMat,"caloROlogical",0,0,0);
89  G4VPhysicalVolume * caloROphys
90  = new G4PVPlacement(0,G4ThreeVector(),"calROphysical",caloROlog,
91  ROWorldPhys,false,0);
92 
93  // -------------------------------
94  // Calorimeter readout division:
95  // -------------------------------
96  // Phi division first: 48 sectors
97  G4VSolid * caloROphiDivisionTub
98  = new G4Tubs("caloROphiDivision", fCaloCell_rmin, fCaloCell_rmax,
100  G4LogicalVolume * caloROphiDivisionLog
101  = new G4LogicalVolume(caloROphiDivisionTub, dummyMat,
102  "caloROphiDivisionLogical",0,0,0);
103  G4VPhysicalVolume * caloROphiDivisionPhys
104  = new G4PVReplica("caloROphiDivisionPhysical", caloROphiDivisionLog,
105  caloROphys, kPhi, fSegmentsinPhi, fCaloCell_dphi);
106  // then z division: 20 slices:
107  G4VSolid * caloROcellTub
108  = new G4Tubs("caloROcellTub", fCaloRing_rmin, fCaloRing_rmax,
110  G4LogicalVolume * caloROcellLog
111  = new G4LogicalVolume(caloROcellTub, dummyMat, "caloROcellLogical",0,0,0);
112 // G4VPhysicalVolume * caloROcellPhys =
113  new G4PVReplica("caloROcellPhysical", caloROcellLog, caloROphiDivisionPhys,
115 
116  return ROWorldPhys;
117 }
Definition: geomdefs.hh:54
G4Material * FindOrBuildMaterial(const G4String &name, G4bool isotopes=true, G4bool warning=false)
CLHEP::Hep3Vector G4ThreeVector
Definition: G4Box.hh:64
Definition: G4Tubs.hh:85
static G4NistManager * Instance()
Here is the call graph for this function:

Member Data Documentation

◆ fAbsorber_thick

G4double RE01CalorimeterROGeometry::fAbsorber_thick
private

Definition at line 55 of file RE01CalorimeterROGeometry.hh.

◆ fCaloCell_dphi

G4double RE01CalorimeterROGeometry::fCaloCell_dphi
private

Definition at line 70 of file RE01CalorimeterROGeometry.hh.

◆ fCaloCell_dz

G4double RE01CalorimeterROGeometry::fCaloCell_dz
private

Definition at line 68 of file RE01CalorimeterROGeometry.hh.

◆ fCaloCell_rmax

G4double RE01CalorimeterROGeometry::fCaloCell_rmax
private

Definition at line 66 of file RE01CalorimeterROGeometry.hh.

◆ fCaloCell_rmin

G4double RE01CalorimeterROGeometry::fCaloCell_rmin
private

Definition at line 67 of file RE01CalorimeterROGeometry.hh.

◆ fCaloCell_sphi

G4double RE01CalorimeterROGeometry::fCaloCell_sphi
private

Definition at line 69 of file RE01CalorimeterROGeometry.hh.

◆ fCaloRing_dphi

G4double RE01CalorimeterROGeometry::fCaloRing_dphi
private

Definition at line 63 of file RE01CalorimeterROGeometry.hh.

◆ fCaloRing_dz

G4double RE01CalorimeterROGeometry::fCaloRing_dz
private

Definition at line 61 of file RE01CalorimeterROGeometry.hh.

◆ fCaloRing_rmax

G4double RE01CalorimeterROGeometry::fCaloRing_rmax
private

Definition at line 59 of file RE01CalorimeterROGeometry.hh.

◆ fCaloRing_rmin

G4double RE01CalorimeterROGeometry::fCaloRing_rmin
private

Definition at line 60 of file RE01CalorimeterROGeometry.hh.

◆ fCaloRing_sphi

G4double RE01CalorimeterROGeometry::fCaloRing_sphi
private

Definition at line 62 of file RE01CalorimeterROGeometry.hh.

◆ fCaloTubs_dphi

G4double RE01CalorimeterROGeometry::fCaloTubs_dphi
private

Definition at line 52 of file RE01CalorimeterROGeometry.hh.

◆ fCaloTubs_dz

G4double RE01CalorimeterROGeometry::fCaloTubs_dz
private

Definition at line 50 of file RE01CalorimeterROGeometry.hh.

◆ fCaloTubs_rmax

G4double RE01CalorimeterROGeometry::fCaloTubs_rmax
private

Definition at line 48 of file RE01CalorimeterROGeometry.hh.

◆ fCaloTubs_rmin

G4double RE01CalorimeterROGeometry::fCaloTubs_rmin
private

Definition at line 49 of file RE01CalorimeterROGeometry.hh.

◆ fCaloTubs_sphi

G4double RE01CalorimeterROGeometry::fCaloTubs_sphi
private

Definition at line 51 of file RE01CalorimeterROGeometry.hh.

◆ fExpHall_x

G4double RE01CalorimeterROGeometry::fExpHall_x
private

Definition at line 33 of file RE01CalorimeterROGeometry.hh.

◆ fExpHall_y

G4double RE01CalorimeterROGeometry::fExpHall_y
private

Definition at line 34 of file RE01CalorimeterROGeometry.hh.

◆ fExpHall_z

G4double RE01CalorimeterROGeometry::fExpHall_z
private

Definition at line 35 of file RE01CalorimeterROGeometry.hh.

◆ fNocaloLayers

G4int RE01CalorimeterROGeometry::fNocaloLayers
private

Definition at line 54 of file RE01CalorimeterROGeometry.hh.

◆ fNotrkLayers

G4int RE01CalorimeterROGeometry::fNotrkLayers
private

Definition at line 43 of file RE01CalorimeterROGeometry.hh.

◆ fScinti_thick

G4double RE01CalorimeterROGeometry::fScinti_thick
private

Definition at line 56 of file RE01CalorimeterROGeometry.hh.

◆ fSegmentsinPhi

G4int RE01CalorimeterROGeometry::fSegmentsinPhi
private

Definition at line 65 of file RE01CalorimeterROGeometry.hh.

◆ fSegmentsinZ

G4int RE01CalorimeterROGeometry::fSegmentsinZ
private

Definition at line 58 of file RE01CalorimeterROGeometry.hh.

◆ fTracker_length

G4double RE01CalorimeterROGeometry::fTracker_length[5]
private

Definition at line 46 of file RE01CalorimeterROGeometry.hh.

◆ fTracker_radius

G4double RE01CalorimeterROGeometry::fTracker_radius[5]
private

Definition at line 44 of file RE01CalorimeterROGeometry.hh.

◆ fTracker_thick

G4double RE01CalorimeterROGeometry::fTracker_thick
private

Definition at line 45 of file RE01CalorimeterROGeometry.hh.

◆ fTrkTubs_dphi

G4double RE01CalorimeterROGeometry::fTrkTubs_dphi
private

Definition at line 41 of file RE01CalorimeterROGeometry.hh.

◆ fTrkTubs_dz

G4double RE01CalorimeterROGeometry::fTrkTubs_dz
private

Definition at line 39 of file RE01CalorimeterROGeometry.hh.

◆ fTrkTubs_rmax

G4double RE01CalorimeterROGeometry::fTrkTubs_rmax
private

Definition at line 37 of file RE01CalorimeterROGeometry.hh.

◆ fTrkTubs_rmin

G4double RE01CalorimeterROGeometry::fTrkTubs_rmin
private

Definition at line 38 of file RE01CalorimeterROGeometry.hh.

◆ fTrkTubs_sphi

G4double RE01CalorimeterROGeometry::fTrkTubs_sphi
private

Definition at line 40 of file RE01CalorimeterROGeometry.hh.


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