Geant4  10.02.p03
FCALCryostatVolumes Class Reference

#include <FCALCryostatVolumes.hh>

Collaboration diagram for FCALCryostatVolumes:

Public Member Functions

 FCALCryostatVolumes ()
 
 ~FCALCryostatVolumes ()
 
G4LogicalVolumeConstruct ()
 

Private Attributes

G4double CryostatRMin
 
G4double CryostatRMax
 
G4double CryostatLenght
 
G4double StartingPhi
 
G4double DPhi
 
G4double InsulationRMin
 
G4double InsulationRMax
 
G4double InsulationLenght
 
G4double LArgRMin
 
G4double LArgRMax
 
G4double LArgLenght
 
G4double LArgPosX
 
G4double LArgPosY
 
G4double LArgPosZ
 
G4double FrontExcluderSizeX
 
G4double FrontExcluderSizeY
 
G4double FrontExcluderSizeZ
 
G4double FrontExcluderPosX
 
G4double FrontExcluderPosY
 
G4double FrontExcluderPosZ
 
G4double BackExcluderSize1X
 
G4double BackExcluderSize1Y
 
G4double BackExcluderSize2X
 
G4double BackExcluderSize2Y
 
G4double BackExcluderSizeZ
 
G4double BackExcluderPosX
 
G4double BackExcluderPosY
 
G4double BackExcluderPosZ
 
G4double BackExcluderRotX
 
G4double FCALEnvelopeRMin
 
G4double FCALEnvelopeRMax
 
G4double FCALEnvelopeLenght
 
G4double FCALEnvelopeStartPhi
 
G4double FCALEnvelopeDPhi
 
G4double FCALEnvelopePosX
 
G4double FCALEnvelopePosY
 
G4double FCALEnvelopePosZ
 
G4double FCALEnvelopeRotX
 
G4double FCALEnvelopeRotY
 
G4double FCALEmModulePosX
 
G4double FCALEmModulePosY
 
G4double FCALEmModulePosZ
 
G4double ModuleRotZ
 
G4double FCALHadModulePosX
 
G4double FCALHadModulePosY
 
G4double FCALHadModulePosZ
 
FCALEMModuleEmModule
 
FCALHadModuleHadModule
 

Detailed Description

Definition at line 45 of file FCALCryostatVolumes.hh.

Constructor & Destructor Documentation

◆ FCALCryostatVolumes()

FCALCryostatVolumes::FCALCryostatVolumes ( )

Definition at line 59 of file FCALCryostatVolumes.cc.

60 {
61 #include "FCALCryostatVolumesParameters.input"
62 }

◆ ~FCALCryostatVolumes()

FCALCryostatVolumes::~FCALCryostatVolumes ( )

Definition at line 64 of file FCALCryostatVolumes.cc.

64 {;}

Member Function Documentation

◆ Construct()

G4LogicalVolume * FCALCryostatVolumes::Construct ( void  )

Definition at line 66 of file FCALCryostatVolumes.cc.

67 {
68 
69  //-----------------------------
70  // construction of materials
71  //-----------------------------
72 
73  FCALMaterialConsultant * FCALMaterials =
75 
76 
77 //-----------------------------------------
78 // G4VisAttributes * ColorOfIron = new G4VisAttributes(G4Colour(0.3,0.3,0.3));
79  G4VisAttributes * ColorOfLead = new G4VisAttributes(G4Colour(0.5,0.5,0.5));
80  G4VisAttributes * ColorOfAir = new G4VisAttributes(G4Colour(1.,1.,1.));
81 // G4VisAttributes * ColorOfLarg = new G4VisAttributes(G4Colour(1.0, 1.0, 0.0));
82 
83 
84  //-----------------------------
85  // Cryostat
86  //-----------------------------
87  G4Tubs * SolidCryostat =
88  new G4Tubs("CryostatSolid", CryostatRMin, CryostatRMax, CryostatLenght,
89  StartingPhi, DPhi);
90  G4LogicalVolume * LogicalCryostat =
91  new G4LogicalVolume(SolidCryostat,FCALMaterials->Material("Iron"),
92  "CryostatLogical");
93 
94  // LogicalCryostat->SetVisAttributes(ColorOfIron);
96 
97 
98  //------------------------------
99  // Insulation
100  //------------------------------
101  G4Tubs * SolidInsulation =
102  new G4Tubs("InsulationSolid", InsulationRMin, InsulationRMax,
104  G4LogicalVolume * LogicalInsulation =
105  new G4LogicalVolume(SolidInsulation, FCALMaterials->Material("Air"),
106  "InsulationLogical");
107 // G4VPhysicalVolume * PhysicalInsulation =
108  new G4PVPlacement(0, G4ThreeVector(), LogicalInsulation, "InsulationPhysical",
109  LogicalCryostat, 0, 0);
110 
111  LogicalInsulation->SetVisAttributes(ColorOfAir);
112  // LogicalInsulation->SetVisAttributes(G4VisAttributes::Invisible);
113 
114 
115  //-------------------------------------
116  // Air to replace Iron inside Cryostat
117  //-------------------------------------
118  /*
119  G4Tubs * SolidAirCryostat =
120  new G4Tubs("AirCryostatSolid", CryostatRMin, LArgRMax, CryostatLength,
121  StartingPhi, DPhi);
122  G4LogicalVolume * LogicalAirCryostat =
123  new G4LogicalVolume(SolidAirCryostat, FCALMaterials->Material("Air"),
124  "AirCryostatLogical");
125  G4VPhysicalVolume * PhysicalAirCryostat =
126  new G4PVPlacement(0, 0, LogicalAirCryostat, "AirCryostatPhysical",
127  LogicalCryostat, 0, 0);
128 
129  LogicalAirCryostat->SetVisAttributes(ColorOfAir);
130  // LogicalAirCryostat->SetVisAttributes(G4VisAttributes::Invisible);
131  */
132 
133 
134  //--------------------
135  // Liquid Argon
136  //--------------------
137  G4Tubs * SolidLArg =
138  new G4Tubs("LArgSolid", LArgRMin, LArgRMax, LArgLenght,StartingPhi,DPhi);
139  G4LogicalVolume * LogicalLArg =
140  new G4LogicalVolume(SolidLArg, FCALMaterials->Material("LiquidArgon"),
141  "LArgLogical");
142  G4VPhysicalVolume * PhysicalLArg =
144  LogicalLArg, "LArgPhysical", LogicalCryostat, 0,0);
145 
146  // LogicalLArg->SetVisAttributes(ColorOfLarg);
148 
149  //-------------------
150  // Front Excluder
151  //-------------------
152  G4Box * SolidFrontExcluder =
153  new G4Box("FrontExcluderSolid", FrontExcluderSizeX, FrontExcluderSizeY,
155  G4LogicalVolume * LogicalFrontExcluder =
156  new G4LogicalVolume(SolidFrontExcluder, FCALMaterials->Material("Air")
157  , "FrontExcluderLogical");
158 
159 // G4VPhysicalVolume * PhysicalFrontExcluder =
161  FrontExcluderPosZ), "FrontExcluderPhysical",
162  LogicalFrontExcluder, PhysicalLArg, 0,0);
163 
164  LogicalFrontExcluder->SetVisAttributes(ColorOfLead);
165  // LogicalFrontExcluder->SetVisAttributes(G4VisAttributes::Invisible);
166 
167 
168  //--------------------
169  // Back Excluder
170  //--------------------
171  G4Trd * SolidBackExcluder =
172  new G4Trd("BackExcluderSolid", BackExcluderSize1X, BackExcluderSize2X,
174  G4LogicalVolume * LogicalBackExcluder =
175  new G4LogicalVolume(SolidBackExcluder, FCALMaterials->Material("Air"),
176  "BackExcluderLogical");
177 
178  G4RotationMatrix * BackExcluderRotationMatrix = new G4RotationMatrix();
179  BackExcluderRotationMatrix->rotateX(BackExcluderRotX);
180 
181 // G4VPhysicalVolume * PhysicalBackExcluder =
182  new G4PVPlacement(BackExcluderRotationMatrix,
184  BackExcluderPosZ), "BackExcluder", LogicalBackExcluder,
185  PhysicalLArg, 0,0);
186 
187  LogicalBackExcluder->SetVisAttributes(ColorOfLead);
188  // LogicalBackExcluder->SetVisAttributes(G4VisAttributes::Invisible);
189 
190 
191  //------------------------
192  // fcal envelope
193  //------------------------
194  G4Tubs * SolidFCALEnvelope =
195  new G4Tubs("FCALEnvelopeSolid", FCALEnvelopeRMin, FCALEnvelopeRMax,
197 
198  G4LogicalVolume * LogicalFCALEnvelope =
199  new G4LogicalVolume(SolidFCALEnvelope, FCALMaterials->Material("LiquidArgon"),
200  "FCALEnvelopeLogical");
201 
202  G4RotationMatrix * FCALRotationMatrix = new G4RotationMatrix();
203  FCALRotationMatrix->rotateX(FCALEnvelopeRotX);
204  // FCALRotationMatrix->rotateY(FCALEnvelopeRotY);
205 
206 // G4VPhysicalVolume * PhysicalFCALEnvelopp =
207  new G4PVPlacement(FCALRotationMatrix,
209  , LogicalFCALEnvelope, "FCALEnvelopePhysical", LogicalLArg, 0,0);
210 
211  //LogicalFCALEnvelope->SetVisAttributes(ColorOfIron);
212  LogicalFCALEnvelope->SetVisAttributes(G4VisAttributes::Invisible);
213 
214  //-----------------------------
215  // FCAL electromagnetic Module
216  //-----------------------------
217  EmModule = new FCALEMModule();
218  G4LogicalVolume * LogicalFCALEmModule = EmModule->Construct();
219 
220  G4RotationMatrix * EmModuleRot = new G4RotationMatrix();
221  EmModuleRot->rotateZ(ModuleRotZ);
222 
223 // G4VPhysicalVolume * PhysicalFCALEmModule =
224  new G4PVPlacement(EmModuleRot,
226  LogicalFCALEmModule,"FCALEmModulePhysical",LogicalFCALEnvelope,0,0);
227 
228 
229  //-----------------------------
230  // hadronic fcal
231  //----------------------------
232  HadModule = new FCALHadModule();
233  G4LogicalVolume * LogicalFCALHadModule = HadModule->Construct();
234 
235  G4RotationMatrix * HadModuleRot = new G4RotationMatrix();
236  HadModuleRot->rotateZ(ModuleRotZ);
237 
238 // G4VPhysicalVolume * PhysicalFCALHadModule =
239  new G4PVPlacement(HadModuleRot,
241  LogicalFCALHadModule, "FCALHadModulePhysical",LogicalFCALEnvelope,0,0);
242 
243 
244 
245  //-------------------------
246  // Returning the mother
247  //-------------------------
248 
249  return LogicalCryostat;
250 
251 }
static FCALMaterialConsultant * GetInstance()
FCALHadModule * HadModule
CLHEP::Hep3Vector G4ThreeVector
CLHEP::HepRotation G4RotationMatrix
Definition: G4Box.hh:64
Definition: G4Tubs.hh:85
G4LogicalVolume * Construct()
Definition: G4Trd.hh:72
G4Material * Material(G4String)
G4LogicalVolume * Construct()
static const G4VisAttributes Invisible
HepRotation & rotateZ(double delta)
Definition: Rotation.cc:92
void SetVisAttributes(const G4VisAttributes *pVA)
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ BackExcluderPosX

G4double FCALCryostatVolumes::BackExcluderPosX
private

Definition at line 71 of file FCALCryostatVolumes.hh.

◆ BackExcluderPosY

G4double FCALCryostatVolumes::BackExcluderPosY
private

Definition at line 71 of file FCALCryostatVolumes.hh.

◆ BackExcluderPosZ

G4double FCALCryostatVolumes::BackExcluderPosZ
private

Definition at line 71 of file FCALCryostatVolumes.hh.

◆ BackExcluderRotX

G4double FCALCryostatVolumes::BackExcluderRotX
private

Definition at line 71 of file FCALCryostatVolumes.hh.

◆ BackExcluderSize1X

G4double FCALCryostatVolumes::BackExcluderSize1X
private

Definition at line 68 of file FCALCryostatVolumes.hh.

◆ BackExcluderSize1Y

G4double FCALCryostatVolumes::BackExcluderSize1Y
private

Definition at line 68 of file FCALCryostatVolumes.hh.

◆ BackExcluderSize2X

G4double FCALCryostatVolumes::BackExcluderSize2X
private

Definition at line 68 of file FCALCryostatVolumes.hh.

◆ BackExcluderSize2Y

G4double FCALCryostatVolumes::BackExcluderSize2Y
private

Definition at line 68 of file FCALCryostatVolumes.hh.

◆ BackExcluderSizeZ

G4double FCALCryostatVolumes::BackExcluderSizeZ
private

Definition at line 68 of file FCALCryostatVolumes.hh.

◆ CryostatLenght

G4double FCALCryostatVolumes::CryostatLenght
private

Definition at line 58 of file FCALCryostatVolumes.hh.

◆ CryostatRMax

G4double FCALCryostatVolumes::CryostatRMax
private

Definition at line 58 of file FCALCryostatVolumes.hh.

◆ CryostatRMin

G4double FCALCryostatVolumes::CryostatRMin
private

Definition at line 58 of file FCALCryostatVolumes.hh.

◆ DPhi

G4double FCALCryostatVolumes::DPhi
private

Definition at line 58 of file FCALCryostatVolumes.hh.

◆ EmModule

FCALEMModule* FCALCryostatVolumes::EmModule
private

Definition at line 85 of file FCALCryostatVolumes.hh.

◆ FCALEmModulePosX

G4double FCALCryostatVolumes::FCALEmModulePosX
private

Definition at line 79 of file FCALCryostatVolumes.hh.

◆ FCALEmModulePosY

G4double FCALCryostatVolumes::FCALEmModulePosY
private

Definition at line 79 of file FCALCryostatVolumes.hh.

◆ FCALEmModulePosZ

G4double FCALCryostatVolumes::FCALEmModulePosZ
private

Definition at line 79 of file FCALCryostatVolumes.hh.

◆ FCALEnvelopeDPhi

G4double FCALCryostatVolumes::FCALEnvelopeDPhi
private

Definition at line 74 of file FCALCryostatVolumes.hh.

◆ FCALEnvelopeLenght

G4double FCALCryostatVolumes::FCALEnvelopeLenght
private

Definition at line 74 of file FCALCryostatVolumes.hh.

◆ FCALEnvelopePosX

G4double FCALCryostatVolumes::FCALEnvelopePosX
private

Definition at line 76 of file FCALCryostatVolumes.hh.

◆ FCALEnvelopePosY

G4double FCALCryostatVolumes::FCALEnvelopePosY
private

Definition at line 76 of file FCALCryostatVolumes.hh.

◆ FCALEnvelopePosZ

G4double FCALCryostatVolumes::FCALEnvelopePosZ
private

Definition at line 76 of file FCALCryostatVolumes.hh.

◆ FCALEnvelopeRMax

G4double FCALCryostatVolumes::FCALEnvelopeRMax
private

Definition at line 74 of file FCALCryostatVolumes.hh.

◆ FCALEnvelopeRMin

G4double FCALCryostatVolumes::FCALEnvelopeRMin
private

Definition at line 74 of file FCALCryostatVolumes.hh.

◆ FCALEnvelopeRotX

G4double FCALCryostatVolumes::FCALEnvelopeRotX
private

Definition at line 76 of file FCALCryostatVolumes.hh.

◆ FCALEnvelopeRotY

G4double FCALCryostatVolumes::FCALEnvelopeRotY
private

Definition at line 76 of file FCALCryostatVolumes.hh.

◆ FCALEnvelopeStartPhi

G4double FCALCryostatVolumes::FCALEnvelopeStartPhi
private

Definition at line 74 of file FCALCryostatVolumes.hh.

◆ FCALHadModulePosX

G4double FCALCryostatVolumes::FCALHadModulePosX
private

Definition at line 83 of file FCALCryostatVolumes.hh.

◆ FCALHadModulePosY

G4double FCALCryostatVolumes::FCALHadModulePosY
private

Definition at line 83 of file FCALCryostatVolumes.hh.

◆ FCALHadModulePosZ

G4double FCALCryostatVolumes::FCALHadModulePosZ
private

Definition at line 83 of file FCALCryostatVolumes.hh.

◆ FrontExcluderPosX

G4double FCALCryostatVolumes::FrontExcluderPosX
private

Definition at line 66 of file FCALCryostatVolumes.hh.

◆ FrontExcluderPosY

G4double FCALCryostatVolumes::FrontExcluderPosY
private

Definition at line 66 of file FCALCryostatVolumes.hh.

◆ FrontExcluderPosZ

G4double FCALCryostatVolumes::FrontExcluderPosZ
private

Definition at line 66 of file FCALCryostatVolumes.hh.

◆ FrontExcluderSizeX

G4double FCALCryostatVolumes::FrontExcluderSizeX
private

Definition at line 65 of file FCALCryostatVolumes.hh.

◆ FrontExcluderSizeY

G4double FCALCryostatVolumes::FrontExcluderSizeY
private

Definition at line 65 of file FCALCryostatVolumes.hh.

◆ FrontExcluderSizeZ

G4double FCALCryostatVolumes::FrontExcluderSizeZ
private

Definition at line 65 of file FCALCryostatVolumes.hh.

◆ HadModule

FCALHadModule* FCALCryostatVolumes::HadModule
private

Definition at line 86 of file FCALCryostatVolumes.hh.

◆ InsulationLenght

G4double FCALCryostatVolumes::InsulationLenght
private

Definition at line 60 of file FCALCryostatVolumes.hh.

◆ InsulationRMax

G4double FCALCryostatVolumes::InsulationRMax
private

Definition at line 60 of file FCALCryostatVolumes.hh.

◆ InsulationRMin

G4double FCALCryostatVolumes::InsulationRMin
private

Definition at line 60 of file FCALCryostatVolumes.hh.

◆ LArgLenght

G4double FCALCryostatVolumes::LArgLenght
private

Definition at line 62 of file FCALCryostatVolumes.hh.

◆ LArgPosX

G4double FCALCryostatVolumes::LArgPosX
private

Definition at line 63 of file FCALCryostatVolumes.hh.

◆ LArgPosY

G4double FCALCryostatVolumes::LArgPosY
private

Definition at line 63 of file FCALCryostatVolumes.hh.

◆ LArgPosZ

G4double FCALCryostatVolumes::LArgPosZ
private

Definition at line 63 of file FCALCryostatVolumes.hh.

◆ LArgRMax

G4double FCALCryostatVolumes::LArgRMax
private

Definition at line 62 of file FCALCryostatVolumes.hh.

◆ LArgRMin

G4double FCALCryostatVolumes::LArgRMin
private

Definition at line 62 of file FCALCryostatVolumes.hh.

◆ ModuleRotZ

G4double FCALCryostatVolumes::ModuleRotZ
private

Definition at line 81 of file FCALCryostatVolumes.hh.

◆ StartingPhi

G4double FCALCryostatVolumes::StartingPhi
private

Definition at line 58 of file FCALCryostatVolumes.hh.


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