ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
F03DetectorConstruction.hh
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file F03DetectorConstruction.hh
1 //
2 // ********************************************************************
3 // * License and Disclaimer *
4 // * *
5 // * The Geant4 software is copyright of the Copyright Holders of *
6 // * the Geant4 Collaboration. It is provided under the terms and *
7 // * conditions of the Geant4 Software License, included in the file *
8 // * LICENSE and available at http://cern.ch/geant4/license . These *
9 // * include a list of copyright holders. *
10 // * *
11 // * Neither the authors of this software system, nor their employing *
12 // * institutes,nor the agencies providing financial support for this *
13 // * work make any representation or warranty, express or implied, *
14 // * regarding this software system or assume any liability for its *
15 // * use. Please see the license in the file LICENSE and URL above *
16 // * for the full disclaimer and the limitation of liability. *
17 // * *
18 // * This code implementation is the result of the scientific and *
19 // * technical work of the GEANT4 collaboration. *
20 // * By using, copying, modifying or distributing the software (or *
21 // * any work based on the software) you agree to acknowledge its *
22 // * use in resulting scientific publications, and indicate your *
23 // * acceptance of all terms of the Geant4 Software license. *
24 // ********************************************************************
25 //
28 //
29 //
30 //
31 //
32 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
33 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
34 
35 #ifndef F03DetectorConstruction_h
36 #define F03DetectorConstruction_h 1
37 
39 #include "G4Cache.hh"
40 
41 class G4Tubs;
42 class G4LogicalVolume;
43 class G4VPhysicalVolume;
44 
45 class G4Material;
46 class G4UniformMagField;
47 
49 class F03CalorimeterSD;
50 class F03FieldSetup;
51 
52 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
53 
55 {
56  public:
57 
59  virtual ~F03DetectorConstruction();
60 
61  public:
62 
66 
68 
70  void SetWorldSizeZ(G4double);
71  void SetWorldSizeR(G4double);
72 
73  virtual G4VPhysicalVolume* Construct();
74  virtual void ConstructSDandField();
75 
76  public:
77 
78  void PrintCalorParameters();
79 
83 
87 
91 
95 
96  private:
97  F03DetectorMessenger* fDetectorMessenger; // pointer to the Messenger
98  G4Cache<F03CalorimeterSD*> fCalorimeterSD; // pointer to the sensitive det.
100 
101  G4Tubs* fSolidWorld; // pointer to the solid World
102  G4LogicalVolume* fLogicWorld; // pointer to the logical World
103  G4VPhysicalVolume* fPhysiWorld; // pointer to the physical World
104 
105  G4Tubs* fSolidAbsorber; // pointer to the solid Absorber
106  G4LogicalVolume* fLogicAbsorber; // pointer to the logical Absorber
107  G4VPhysicalVolume* fPhysiAbsorber; // pointer to the physical Absorber
108 
109  G4Tubs* fSolidRadSlice; // pointer to the solid z-slice
110  G4LogicalVolume* fLogicRadSlice; // pointer to the logical z-slide
111  G4VPhysicalVolume* fPhysiRadSlice; // pointer to the physical z-slide
112 
116 
119  G4Material* fRadiatorMat; // pointer to the TR radiator material
120 
123 
126 
129 
133 
135 
136  private:
137 
138  void DefineMaterials();
139  void ComputeCalorParameters();
141 };
142 
143 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
144 
146 {
147  // Compute derived parameters of the calorimeter
148 
151 }
152 
153 #endif