Geant4  10.02.p03
ExN04CalorimeterROGeometry Class Reference

#include <ExN04CalorimeterROGeometry.hh>

Inheritance diagram for ExN04CalorimeterROGeometry:
Collaboration diagram for ExN04CalorimeterROGeometry:

Public Member Functions

 ExN04CalorimeterROGeometry ()
 
 ExN04CalorimeterROGeometry (G4String)
 
 ~ExN04CalorimeterROGeometry ()
 
 ExN04CalorimeterROGeometry ()
 
 ExN04CalorimeterROGeometry (G4String)
 
 ~ExN04CalorimeterROGeometry ()
 
- 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
 

Private Member Functions

G4VPhysicalVolumeBuild ()
 
G4VPhysicalVolumeBuild ()
 

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
 
G4int fnomucounter
 
G4double fmuBox_radius
 
G4double fmuBox_width
 
G4double fmuBox_thick
 
G4double fmuBox_length
 
G4MaterialdummyMat
 
G4double expHall_x
 
G4double expHall_y
 
G4double expHall_z
 
G4double trkTubs_rmax
 
G4double trkTubs_rmin
 
G4double trkTubs_dz
 
G4double trkTubs_sphi
 
G4double trkTubs_dphi
 
G4int notrkLayers
 
G4double tracker_radius [5]
 
G4double tracker_thick
 
G4double tracker_length [5]
 
G4double caloTubs_rmax
 
G4double caloTubs_rmin
 
G4double caloTubs_dz
 
G4double caloTubs_sphi
 
G4double caloTubs_dphi
 
G4int nocaloLayers
 
G4double absorber_thick
 
G4double scinti_thick
 
G4int segmentsinZ
 
G4double caloRing_rmax
 
G4double caloRing_rmin
 
G4double caloRing_dz
 
G4double caloRing_sphi
 
G4double caloRing_dphi
 
G4int segmentsinPhi
 
G4double caloCell_rmax
 
G4double caloCell_rmin
 
G4double caloCell_dz
 
G4double caloCell_sphi
 
G4double caloCell_dphi
 
G4int nomucounter
 
G4double muBox_radius
 
G4double muBox_width
 
G4double muBox_thick
 
G4double muBox_length
 

Additional Inherited Members

- Protected Member Functions inherited from G4VReadOutGeometry
 G4VReadOutGeometry (const G4VReadOutGeometry &right)
 
G4VReadOutGeometryoperator= (const G4VReadOutGeometry &right)
 
virtual G4bool FindROTouchable (G4Step *)
 
- Protected Attributes inherited from G4VReadOutGeometry
G4VPhysicalVolumeROworld
 
G4SensitiveVolumeListfincludeList
 
G4SensitiveVolumeListfexcludeList
 
G4String name
 
G4NavigatorROnavigator
 
G4TouchableHistorytouchableHistory
 

Detailed Description

Constructor & Destructor Documentation

◆ ExN04CalorimeterROGeometry() [1/4]

ExN04CalorimeterROGeometry::ExN04CalorimeterROGeometry ( )

◆ ExN04CalorimeterROGeometry() [2/4]

ExN04CalorimeterROGeometry::ExN04CalorimeterROGeometry ( G4String  )

◆ ~ExN04CalorimeterROGeometry() [1/2]

ExN04CalorimeterROGeometry::~ExN04CalorimeterROGeometry ( )

◆ ExN04CalorimeterROGeometry() [3/4]

ExN04CalorimeterROGeometry::ExN04CalorimeterROGeometry ( )

◆ ExN04CalorimeterROGeometry() [4/4]

ExN04CalorimeterROGeometry::ExN04CalorimeterROGeometry ( G4String  )

◆ ~ExN04CalorimeterROGeometry() [2/2]

ExN04CalorimeterROGeometry::~ExN04CalorimeterROGeometry ( )

Member Function Documentation

◆ Build() [1/2]

G4VPhysicalVolume * ExN04CalorimeterROGeometry::Build ( void  )
privatevirtual

Implements G4VReadOutGeometry.

Definition at line 65 of file eventgenerator/HepMC/HepMCEx01/src/ExN04CalorimeterROGeometry.cc.

66 {
67  // A dummy material is used to fill the volumes of the readout geometry.
68  // ( It will be allowed to set a NULL pointer in volumes of such virtual
69  // division in future, since this material is irrelevant for tracking.)
71  new G4Material(name="dummyMat", 1., 1.*g/mole, 1.*g/cm3);
72 
73  //Builds the ReadOut World:
74  G4Box* ROWorldBox = new G4Box("ROWorldBox",
76  G4LogicalVolume* ROWorldLog = new G4LogicalVolume(ROWorldBox, dummyMat,
77  "ROWorldLogical", 0, 0, 0);
78  G4PVPlacement* ROWorldPhys = new G4PVPlacement(0, G4ThreeVector(),
79  "ROWorldPhysical",
80  ROWorldLog,
81  0, false, 0);
82  // Calorimeter volume:
83  G4VSolid* caloROtub
84  = new G4Tubs("caloROtub", fcaloTubs_rmin, fcaloTubs_rmax,
86  G4LogicalVolume* caloROlog
87  = new G4LogicalVolume(caloROtub, dummyMat, "caloROlogical",0,0,0);
88  G4VPhysicalVolume* caloROphys
89  = new G4PVPlacement(0, G4ThreeVector(), "calROphysical", caloROlog,
90  ROWorldPhys, false, 0);
91 
92  // -------------------------------
93  // Calorimeter readout division:
94  // -------------------------------
95  // Phi division first: 48 sectors
96  G4VSolid* caloROphiDivisionTub
97  = new G4Tubs("caloROphiDivision", fcaloCell_rmin, fcaloCell_rmax,
99  G4LogicalVolume* caloROphiDivisionLog
100  = new G4LogicalVolume(caloROphiDivisionTub,
101  dummyMat, "caloROphiDivisionLogical",0,0,0);
102  G4VPhysicalVolume* caloROphiDivisionPhys
103  = new G4PVReplica("caloROphiDivisionPhysical", caloROphiDivisionLog,
104  caloROphys, kPhi, fsegmentsinPhi, fcaloCell_dphi);
105  // then z division: 20 slices:
106  G4VSolid* caloROcellTub
107  = new G4Tubs("caloROcellTub", fcaloRing_rmin, fcaloRing_rmax,
109  G4LogicalVolume* caloROcellLog
110  = new G4LogicalVolume(caloROcellTub, dummyMat, "caloROcellLogical",0,0,0);
111  // G4VPhysicalVolume * caloROcellPhys =
112  new G4PVReplica("caloROcellPhysical", caloROcellLog, caloROphiDivisionPhys,
114 
115 
116  //Flags the cells as sensitive .The pointer here serves
117  // as a flag only to check for sensitivity.
118  // (Could we make it by a simple cast of a non-NULL value ?)
119  ExN04DummySD * dummySensi = new ExN04DummySD;
120  caloROcellLog->SetSensitiveDetector(dummySensi);
121 
122  return ROWorldPhys;
123 }
Definition: geomdefs.hh:54
CLHEP::Hep3Vector G4ThreeVector
Definition: G4Box.hh:64
Definition: G4Tubs.hh:85
function g(Y1, Y2, PT2)
Definition: hijing1.383.f:5206
static const double cm3
Definition: G4SIunits.hh:120
static const double mole
Definition: G4SIunits.hh:283
void SetSensitiveDetector(G4VSensitiveDetector *pSDetector)
Here is the call graph for this function:

◆ Build() [2/2]

G4VPhysicalVolume* ExN04CalorimeterROGeometry::Build ( )
privatevirtual

Implements G4VReadOutGeometry.

Member Data Documentation

◆ absorber_thick

G4double ExN04CalorimeterROGeometry::absorber_thick
private

◆ caloCell_dphi

G4double ExN04CalorimeterROGeometry::caloCell_dphi
private

◆ caloCell_dz

G4double ExN04CalorimeterROGeometry::caloCell_dz
private

◆ caloCell_rmax

G4double ExN04CalorimeterROGeometry::caloCell_rmax
private

◆ caloCell_rmin

G4double ExN04CalorimeterROGeometry::caloCell_rmin
private

◆ caloCell_sphi

G4double ExN04CalorimeterROGeometry::caloCell_sphi
private

◆ caloRing_dphi

G4double ExN04CalorimeterROGeometry::caloRing_dphi
private

◆ caloRing_dz

G4double ExN04CalorimeterROGeometry::caloRing_dz
private

◆ caloRing_rmax

G4double ExN04CalorimeterROGeometry::caloRing_rmax
private

◆ caloRing_rmin

G4double ExN04CalorimeterROGeometry::caloRing_rmin
private

◆ caloRing_sphi

G4double ExN04CalorimeterROGeometry::caloRing_sphi
private

◆ caloTubs_dphi

G4double ExN04CalorimeterROGeometry::caloTubs_dphi
private

◆ caloTubs_dz

G4double ExN04CalorimeterROGeometry::caloTubs_dz
private

◆ caloTubs_rmax

G4double ExN04CalorimeterROGeometry::caloTubs_rmax
private

◆ caloTubs_rmin

G4double ExN04CalorimeterROGeometry::caloTubs_rmin
private

◆ caloTubs_sphi

G4double ExN04CalorimeterROGeometry::caloTubs_sphi
private

◆ dummyMat

G4Material* ExN04CalorimeterROGeometry::dummyMat
private

◆ expHall_x

G4double ExN04CalorimeterROGeometry::expHall_x
private

◆ expHall_y

G4double ExN04CalorimeterROGeometry::expHall_y
private

◆ expHall_z

G4double ExN04CalorimeterROGeometry::expHall_z
private

◆ fabsorber_thick

G4double ExN04CalorimeterROGeometry::fabsorber_thick
private

◆ fcaloCell_dphi

G4double ExN04CalorimeterROGeometry::fcaloCell_dphi
private

◆ fcaloCell_dz

G4double ExN04CalorimeterROGeometry::fcaloCell_dz
private

◆ fcaloCell_rmax

G4double ExN04CalorimeterROGeometry::fcaloCell_rmax
private

◆ fcaloCell_rmin

G4double ExN04CalorimeterROGeometry::fcaloCell_rmin
private

◆ fcaloCell_sphi

G4double ExN04CalorimeterROGeometry::fcaloCell_sphi
private

◆ fcaloRing_dphi

G4double ExN04CalorimeterROGeometry::fcaloRing_dphi
private

◆ fcaloRing_dz

G4double ExN04CalorimeterROGeometry::fcaloRing_dz
private

◆ fcaloRing_rmax

G4double ExN04CalorimeterROGeometry::fcaloRing_rmax
private

◆ fcaloRing_rmin

G4double ExN04CalorimeterROGeometry::fcaloRing_rmin
private

◆ fcaloRing_sphi

G4double ExN04CalorimeterROGeometry::fcaloRing_sphi
private

◆ fcaloTubs_dphi

G4double ExN04CalorimeterROGeometry::fcaloTubs_dphi
private

◆ fcaloTubs_dz

G4double ExN04CalorimeterROGeometry::fcaloTubs_dz
private

◆ fcaloTubs_rmax

G4double ExN04CalorimeterROGeometry::fcaloTubs_rmax
private

◆ fcaloTubs_rmin

G4double ExN04CalorimeterROGeometry::fcaloTubs_rmin
private

◆ fcaloTubs_sphi

G4double ExN04CalorimeterROGeometry::fcaloTubs_sphi
private

◆ fexpHall_x

G4double ExN04CalorimeterROGeometry::fexpHall_x
private

◆ fexpHall_y

G4double ExN04CalorimeterROGeometry::fexpHall_y
private

◆ fexpHall_z

G4double ExN04CalorimeterROGeometry::fexpHall_z
private

◆ fmuBox_length

G4double ExN04CalorimeterROGeometry::fmuBox_length
private

◆ fmuBox_radius

G4double ExN04CalorimeterROGeometry::fmuBox_radius
private

◆ fmuBox_thick

G4double ExN04CalorimeterROGeometry::fmuBox_thick
private

◆ fmuBox_width

G4double ExN04CalorimeterROGeometry::fmuBox_width
private

◆ fnocaloLayers

G4int ExN04CalorimeterROGeometry::fnocaloLayers
private

◆ fnomucounter

G4int ExN04CalorimeterROGeometry::fnomucounter
private

◆ fnotrkLayers

G4int ExN04CalorimeterROGeometry::fnotrkLayers
private

◆ fscinti_thick

G4double ExN04CalorimeterROGeometry::fscinti_thick
private

◆ fsegmentsinPhi

G4int ExN04CalorimeterROGeometry::fsegmentsinPhi
private

◆ fsegmentsinZ

G4int ExN04CalorimeterROGeometry::fsegmentsinZ
private

◆ ftracker_length

G4double ExN04CalorimeterROGeometry::ftracker_length[5]
private

◆ ftracker_radius

G4double ExN04CalorimeterROGeometry::ftracker_radius[5]
private

◆ ftracker_thick

G4double ExN04CalorimeterROGeometry::ftracker_thick
private

◆ ftrkTubs_dphi

G4double ExN04CalorimeterROGeometry::ftrkTubs_dphi
private

◆ ftrkTubs_dz

G4double ExN04CalorimeterROGeometry::ftrkTubs_dz
private

◆ ftrkTubs_rmax

G4double ExN04CalorimeterROGeometry::ftrkTubs_rmax
private

◆ ftrkTubs_rmin

G4double ExN04CalorimeterROGeometry::ftrkTubs_rmin
private

◆ ftrkTubs_sphi

G4double ExN04CalorimeterROGeometry::ftrkTubs_sphi
private

◆ muBox_length

G4double ExN04CalorimeterROGeometry::muBox_length
private

◆ muBox_radius

G4double ExN04CalorimeterROGeometry::muBox_radius
private

◆ muBox_thick

G4double ExN04CalorimeterROGeometry::muBox_thick
private

◆ muBox_width

G4double ExN04CalorimeterROGeometry::muBox_width
private

◆ nocaloLayers

G4int ExN04CalorimeterROGeometry::nocaloLayers
private

◆ nomucounter

G4int ExN04CalorimeterROGeometry::nomucounter
private

◆ notrkLayers

G4int ExN04CalorimeterROGeometry::notrkLayers
private

◆ scinti_thick

G4double ExN04CalorimeterROGeometry::scinti_thick
private

◆ segmentsinPhi

G4int ExN04CalorimeterROGeometry::segmentsinPhi
private

◆ segmentsinZ

G4int ExN04CalorimeterROGeometry::segmentsinZ
private

◆ tracker_length

G4double ExN04CalorimeterROGeometry::tracker_length[5]
private

◆ tracker_radius

G4double ExN04CalorimeterROGeometry::tracker_radius[5]
private

◆ tracker_thick

G4double ExN04CalorimeterROGeometry::tracker_thick
private

◆ trkTubs_dphi

G4double ExN04CalorimeterROGeometry::trkTubs_dphi
private

◆ trkTubs_dz

G4double ExN04CalorimeterROGeometry::trkTubs_dz
private

◆ trkTubs_rmax

G4double ExN04CalorimeterROGeometry::trkTubs_rmax
private

◆ trkTubs_rmin

G4double ExN04CalorimeterROGeometry::trkTubs_rmin
private

◆ trkTubs_sphi

G4double ExN04CalorimeterROGeometry::trkTubs_sphi
private

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