Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
F04DetectorConstruction Class Reference

#include <Doxymodules_field.h>

Inheritance diagram for F04DetectorConstruction:
G4VUserDetectorConstruction

Public Member Functions

 F04DetectorConstruction ()
 
 ~F04DetectorConstruction () override
 
G4VPhysicalVolumeConstruct () override
 
G4VPhysicalVolumeConstructDetector ()
 
void ConstructSDandField () override
 
void SetWorldMaterial (G4String)
 
void SetWorldSizeZ (G4double)
 
void SetWorldSizeR (G4double)
 
void SetCaptureMgntRadius (G4double)
 
void SetCaptureMgntLength (G4double)
 
void SetCaptureMgntB1 (G4double)
 
void SetCaptureMgntB2 (G4double)
 
void SetTransferMgntRadius (G4double)
 
void SetTransferMgntLength (G4double)
 
void SetTransferMgntB (G4double)
 
void SetTransferMgntPos (G4double)
 
void SetTargetMaterial (G4String)
 
void SetTargetThickness (G4double)
 
void SetTargetRadius (G4double)
 
void SetTargetPos (G4double)
 
void SetTargetAngle (G4int)
 
void SetDegraderMaterial (G4String)
 
void SetDegraderThickness (G4double)
 
void SetDegraderRadius (G4double)
 
void SetDegraderPos (G4double)
 
G4MaterialGetWorldMaterial ()
 
G4double GetWorldSizeZ ()
 
G4double GetWorldSizeR ()
 
G4LogicalVolumeGetCaptureMgnt ()
 
G4double GetCaptureMgntRadius ()
 
G4double GetCaptureMgntLength ()
 
G4double GetCaptureMgntB1 ()
 
G4double GetCaptureMgntB2 ()
 
G4ThreeVector GetCaptureMgntCenter ()
 
G4LogicalVolumeGetTransferMgnt ()
 
G4double GetTransferMgntRadius ()
 
G4double GetTransferMgntLength ()
 
G4double GetTransferMgntB ()
 
G4double GetTransferMgntPos ()
 
G4ThreeVector GetTransferMgntCenter ()
 
G4MaterialGetTargetMaterial ()
 
G4double GetTargetRadius ()
 
G4double GetTargetThickness ()
 
G4double GetTargetPos ()
 
G4int GetTargetAngle ()
 
G4MaterialGetDegraderMaterial ()
 
G4double GetDegraderRadius ()
 
G4double GetDegraderThickness ()
 
G4double GetDegraderPos ()
 

Static Public Member Functions

static G4RotationMatrix StringToRotationMatrix (G4String rotation)
 

Private Member Functions

void DefineMaterials ()
 

Private Attributes

F04DetectorMessengerfDetectorMessenger = nullptr
 
G4Cache< F04GlobalField * > fFieldSetUp = nullptr
 
F04MaterialsfMaterials = nullptr
 
G4MaterialfVacuum = nullptr
 
G4TubsfSolidWorld = nullptr
 
G4LogicalVolumefLogicWorld = nullptr
 
G4VPhysicalVolumefPhysiWorld = nullptr
 
G4TubsfSolidTarget = nullptr
 
G4LogicalVolumefLogicTarget = nullptr
 
G4VPhysicalVolumefPhysiTarget = nullptr
 
G4TubsfSolidDegrader = nullptr
 
G4LogicalVolumefLogicDegrader = nullptr
 
G4VPhysicalVolumefPhysiDegrader = nullptr
 
G4TubsfSolidCaptureMgnt = nullptr
 
G4LogicalVolumefLogicCaptureMgnt = nullptr
 
G4VPhysicalVolumefPhysiCaptureMgnt = nullptr
 
G4TubsfSolidTransferMgnt = nullptr
 
G4LogicalVolumefLogicTransferMgnt = nullptr
 
G4VPhysicalVolumefPhysiTransferMgnt = nullptr
 
G4MaterialfWorldMaterial = nullptr
 
G4double fWorldSizeR = 5. * CLHEP::m
 
G4double fWorldSizeZ = 50. * CLHEP::m
 
G4double fCaptureMgntLength = 4.0 * CLHEP::m
 
G4double fCaptureMgntRadius = 0.6 * CLHEP::m
 
G4double fCaptureMgntB1 = 0.
 
G4double fCaptureMgntB2 = 0.
 
G4double fTransferMgntLength = 15.0 * CLHEP::m
 
G4double fTransferMgntRadius = 0.3 * CLHEP::m
 
G4double fTransferMgntB = 0.
 
G4double fTransferMgntPos = 0.
 
G4MaterialfTargetMaterial = nullptr
 
G4double fTargetThickness = 16.0 * CLHEP::cm
 
G4double fTargetRadius = 0.4 * CLHEP::cm
 
G4double fTargetPos = 0.
 
G4int fTargetAngle = 0.
 
G4MaterialfDegraderMaterial = nullptr
 
G4double fDegraderThickness = 0.1 * CLHEP::cm
 
G4double fDegraderRadius = 30.0 * CLHEP::cm
 
G4double fDegraderPos = 0.
 
G4ThreeVector fCaptureMgntCenter
 
G4ThreeVector fTransferMgntCenter
 

Detailed Description

Definition at line 99 of file Doxymodules_field.h.

Constructor & Destructor Documentation

◆ F04DetectorConstruction()

F04DetectorConstruction::F04DetectorConstruction ( )

◆ ~F04DetectorConstruction()

F04DetectorConstruction::~F04DetectorConstruction ( )
override

Definition at line 83 of file F04DetectorConstruction.cc.

84{
85 delete fDetectorMessenger;
86}

Member Function Documentation

◆ Construct()

G4VPhysicalVolume * F04DetectorConstruction::Construct ( )
override

Definition at line 90 of file F04DetectorConstruction.cc.

91{
92
93 if (fPhysiWorld) {
94 G4GeometryManager::GetInstance()->OpenGeometry();
95 G4PhysicalVolumeStore::GetInstance()->Clean();
96 G4LogicalVolumeStore::GetInstance()->Clean();
97 G4SolidStore::GetInstance()->Clean();
98 }
99
101
103
104 return ConstructDetector();
105}
G4VPhysicalVolume * ConstructDetector()
static F04Materials * GetInstance()

◆ ConstructDetector()

G4VPhysicalVolume * F04DetectorConstruction::ConstructDetector ( )

Definition at line 122 of file F04DetectorConstruction.cc.

123{
124 fSolidWorld = new G4Tubs("World",
125 0.,GetWorldSizeR(),GetWorldSizeZ()/2.,0.,twopi);
126
129 "World");
130
131 fPhysiWorld = new G4PVPlacement(nullptr,
132 G4ThreeVector(),
133 "World",
135 nullptr,
136 false,
137 0);
138
139 // Capture Magnet
140
141 fSolidCaptureMgnt = new G4Tubs("CaptureMgnt",
143 GetCaptureMgntLength()/2.,0.,twopi);
144
146 fVacuum,
147 "CaptureMgnt");
148
149 fCaptureMgntCenter = G4ThreeVector();
150
151 fPhysiCaptureMgnt = new G4PVPlacement(nullptr,
153 "CaptureMgnt",
156 false,
157 0);
158
159 // Transfer Magnet
160
161 fSolidTransferMgnt = new G4Tubs("TransferMgnt",
163 GetTransferMgntLength()/2.,0.,twopi);
164
166 fVacuum,
167 "TransferMgnt");
168
169 G4double z = GetCaptureMgntLength()/2. + GetTransferMgntLength()/2.
171 G4double x = GetTransferMgntPos()/2.;
172
173 fTransferMgntCenter = G4ThreeVector(x,0.,z);
174
175 auto g4rot = new G4RotationMatrix();
176 *g4rot = StringToRotationMatrix("Y30,X10");
177 *g4rot = g4rot->inverse();
178 if (*g4rot == G4RotationMatrix()) g4rot = nullptr;
179
182 "TransferMgnt",
185 false,
186 0);
187
188 // Test Plane
189
190 auto solidTestPlane = new G4Tubs("TestPlane",
192 1.*mm,0.,twopi);
193
194 auto logicTestPlane = new G4LogicalVolume(solidTestPlane,
195 fVacuum,
196 "TestPlane");
197
198 z = GetTransferMgntLength()/2. - 1.*mm;
199
200 G4ThreeVector testPlaneCenter = G4ThreeVector(0.,0.,z);
201
202 new G4PVPlacement(nullptr,
203 testPlaneCenter,
204 "TestPlane",
205 logicTestPlane,
207 false,
208 0);
209
210 // Target
211
212 if (GetTargetThickness() > 0.)
213 {
214 fSolidTarget = new G4Tubs("Target",
215 0.,GetTargetRadius(),
216 GetTargetThickness()/2.,0.,twopi);
217
220 "Target");
221
222 G4int i = GetTargetAngle();
223
224 G4String angle = std::to_string(i);
225 G4StrUtil::strip(angle);
226 angle = "Y" + angle;
227
228 g4rot = new G4RotationMatrix();
229 *g4rot = StringToRotationMatrix(angle);
230 *g4rot = g4rot->inverse();
231 if (*g4rot == G4RotationMatrix()) g4rot = nullptr;
232
233 G4ThreeVector targetCenter(0.,0.,GetTargetPos());
234
235 fPhysiTarget = new G4PVPlacement(g4rot,
236 targetCenter,
237 "Target",
240 false,
241 0);
242 }
243
244 // Degrader
245
246 if (GetDegraderThickness() > 0.)
247 {
248 fSolidDegrader = new G4Tubs("Degrader",
249 0., GetDegraderRadius(),
250 GetDegraderThickness()/2., 0.,twopi);
251
254 "Degrader");
255
256 G4ThreeVector degraderCenter = G4ThreeVector(0.,0.,GetDegraderPos());
257
258 fPhysiDegrader = new G4PVPlacement(nullptr,
259 degraderCenter,
260 "Degrader",
263 false,
264 0);
265 }
266
267 return fPhysiWorld;
268}
G4VPhysicalVolume * fPhysiTransferMgnt
static G4RotationMatrix StringToRotationMatrix(G4String rotation)
G4VPhysicalVolume * fPhysiCaptureMgnt
void strip(G4String &str, char ch=' ')

◆ ConstructSDandField()

void F04DetectorConstruction::ConstructSDandField ( )
override

Definition at line 498 of file F04DetectorConstruction.cc.

499{
500 if (!fFieldSetUp.Get()) {
502 G4AutoDelete::Register(field); // Kernel will delete the F04GlobalField
503 fFieldSetUp.Put(field);
504 }
505}
G4Cache< F04GlobalField * > fFieldSetUp
static F04GlobalField * GetObject()

◆ StringToRotationMatrix()

G4RotationMatrix F04DetectorConstruction::StringToRotationMatrix ( G4String  rotation)
static

Definition at line 510 of file F04DetectorConstruction.cc.

511{
512 // We apply successive rotations OF THE OBJECT around the FIXED
513 // axes of the parent's local coordinates; rotations are applied
514 // left-to-right (rotation="r1,r2,r3" => r1 then r2 then r3).
515
516 G4RotationMatrix rot;
517
518 unsigned int place = 0;
519
520 while (place < rotation.size()) {
521
522 G4double angle;
523 char* p(nullptr);
524 G4String current=rotation.substr(place+1);
525 angle = strtod(current.c_str(),&p) * deg;
526
527 if (!p || (*p != ',' && *p != '\0')) {
528 G4cerr << "Invalid rotation specification: " <<
529 rotation.c_str() << G4endl;
530
531 return rot;
532 }
533
534 G4RotationMatrix thisRotation;
535
536 switch(rotation.substr(place,1).c_str()[0]) {
537 case 'X': case 'x':
538 thisRotation = G4RotationMatrix(CLHEP::HepRotationX(angle));
539 break;
540 case 'Y': case 'y':
541 thisRotation = G4RotationMatrix(CLHEP::HepRotationY(angle));
542 break;
543 case 'Z': case 'z':
544 thisRotation = G4RotationMatrix(CLHEP::HepRotationZ(angle));
545 break;
546 default:
547 G4cerr << " Invalid rotation specification: "
548 << rotation << G4endl;
549 return rot;
550 }
551
552 rot = thisRotation * rot;
553 place = rotation.find(',',place);
554 if (place > rotation.size()) break;
555 ++place;
556 }
557
558 return rot;
559
560}

◆ SetWorldMaterial()

void F04DetectorConstruction::SetWorldMaterial ( G4String  materialChoice)

Definition at line 272 of file F04DetectorConstruction.cc.

273{
274 G4Material* pttoMaterial =
275 G4NistManager::Instance()->FindOrBuildMaterial(materialChoice);
276
277 if (pttoMaterial != fWorldMaterial) {
278 if ( pttoMaterial ) {
279 fWorldMaterial = pttoMaterial;
280 G4RunManager::GetRunManager()->PhysicsHasBeenModified();
281 } else {
282 G4cout << "\n--> WARNING from SetWorldMaterial : "
283 << materialChoice << " not found" << G4endl;
284 }
285 }
286}

◆ SetWorldSizeZ()

void F04DetectorConstruction::SetWorldSizeZ ( G4double  val)

Definition at line 327 of file F04DetectorConstruction.cc.

328{
329 fWorldSizeZ = val;
330
331 if ( G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit ) {
332 G4RunManager::GetRunManager()->ReinitializeGeometry();
333 }
334}

◆ SetWorldSizeR()

void F04DetectorConstruction::SetWorldSizeR ( G4double  val)

Definition at line 338 of file F04DetectorConstruction.cc.

339{
340 fWorldSizeR = val;
341 if ( G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit ) {
342 G4RunManager::GetRunManager()->ReinitializeGeometry();
343 }
344}

◆ SetCaptureMgntRadius()

void F04DetectorConstruction::SetCaptureMgntRadius ( G4double  val)

Definition at line 348 of file F04DetectorConstruction.cc.

349{
350 fCaptureMgntRadius = val;
351 if ( G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit ) {
352 G4RunManager::GetRunManager()->ReinitializeGeometry();
353 }
354}

◆ SetCaptureMgntLength()

void F04DetectorConstruction::SetCaptureMgntLength ( G4double  val)

Definition at line 358 of file F04DetectorConstruction.cc.

359{
360 fCaptureMgntLength = val;
361 if ( G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit ) {
362 G4RunManager::GetRunManager()->ReinitializeGeometry();
363 }
364}

◆ SetCaptureMgntB1()

void F04DetectorConstruction::SetCaptureMgntB1 ( G4double  val)

Definition at line 368 of file F04DetectorConstruction.cc.

369{
370 fCaptureMgntB1 = val;
371 if ( G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit ) {
372 G4RunManager::GetRunManager()->ReinitializeGeometry();
373 }
374}

◆ SetCaptureMgntB2()

void F04DetectorConstruction::SetCaptureMgntB2 ( G4double  val)

Definition at line 378 of file F04DetectorConstruction.cc.

379{
380 fCaptureMgntB2 = val;
381 if ( G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit ) {
382 G4RunManager::GetRunManager()->ReinitializeGeometry();
383 }
384}

◆ SetTransferMgntRadius()

void F04DetectorConstruction::SetTransferMgntRadius ( G4double  val)

Definition at line 388 of file F04DetectorConstruction.cc.

389{
391 if ( G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit ) {
392 G4RunManager::GetRunManager()->ReinitializeGeometry();
393 }
394}

◆ SetTransferMgntLength()

void F04DetectorConstruction::SetTransferMgntLength ( G4double  val)

Definition at line 398 of file F04DetectorConstruction.cc.

399{
401 if ( G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit ) {
402 G4RunManager::GetRunManager()->ReinitializeGeometry();
403 }
404}

◆ SetTransferMgntB()

void F04DetectorConstruction::SetTransferMgntB ( G4double  val)

Definition at line 408 of file F04DetectorConstruction.cc.

409{
410 fTransferMgntB = val;
411 if ( G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit ) {
412 G4RunManager::GetRunManager()->ReinitializeGeometry();
413 }
414}

◆ SetTransferMgntPos()

void F04DetectorConstruction::SetTransferMgntPos ( G4double  val)

Definition at line 418 of file F04DetectorConstruction.cc.

419{
420 fTransferMgntPos = val;
421 if ( G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit ) {
422 G4RunManager::GetRunManager()->ReinitializeGeometry();
423 }
424}

◆ SetTargetMaterial()

void F04DetectorConstruction::SetTargetMaterial ( G4String  materialChoice)

Definition at line 290 of file F04DetectorConstruction.cc.

291{
292 G4Material* pttoMaterial =
293 G4NistManager::Instance()->FindOrBuildMaterial(materialChoice);
294
295 if (pttoMaterial != fTargetMaterial) {
296 if ( pttoMaterial ) {
297 fTargetMaterial = pttoMaterial;
298 G4RunManager::GetRunManager()->PhysicsHasBeenModified();
299 } else {
300 G4cout << "\n--> WARNING from SetTargetMaterial : "
301 << materialChoice << " not found" << G4endl;
302 }
303 }
304}

◆ SetTargetThickness()

void F04DetectorConstruction::SetTargetThickness ( G4double  val)

Definition at line 438 of file F04DetectorConstruction.cc.

439{
440 fTargetThickness = val;
441 if ( G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit ) {
442 G4RunManager::GetRunManager()->ReinitializeGeometry();
443 }
444}

◆ SetTargetRadius()

void F04DetectorConstruction::SetTargetRadius ( G4double  val)

Definition at line 428 of file F04DetectorConstruction.cc.

429{
430 fTargetRadius = val;
431 if ( G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit ) {
432 G4RunManager::GetRunManager()->ReinitializeGeometry();
433 }
434}

◆ SetTargetPos()

void F04DetectorConstruction::SetTargetPos ( G4double  val)

Definition at line 448 of file F04DetectorConstruction.cc.

449{
450 fTargetPos = val;
451 if ( G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit ) {
452 G4RunManager::GetRunManager()->ReinitializeGeometry();
453 }
454}

◆ SetTargetAngle()

void F04DetectorConstruction::SetTargetAngle ( G4int  val)

Definition at line 458 of file F04DetectorConstruction.cc.

459{
460 fTargetAngle = val;
461 if ( G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit ) {
462 G4RunManager::GetRunManager()->ReinitializeGeometry();
463 }
464}

◆ SetDegraderMaterial()

void F04DetectorConstruction::SetDegraderMaterial ( G4String  materialChoice)

Definition at line 308 of file F04DetectorConstruction.cc.

310{
311 G4Material* pttoMaterial =
312 G4NistManager::Instance()->FindOrBuildMaterial(materialChoice);
313
314 if (pttoMaterial != fDegraderMaterial) {
315 if ( pttoMaterial ) {
316 fDegraderMaterial = pttoMaterial;
317 G4RunManager::GetRunManager()->PhysicsHasBeenModified();
318 } else {
319 G4cout << "\n--> WARNING from SetDegraderMaterial : "
320 << materialChoice << " not found" << G4endl;
321 }
322 }
323}

◆ SetDegraderThickness()

void F04DetectorConstruction::SetDegraderThickness ( G4double  val)

Definition at line 478 of file F04DetectorConstruction.cc.

479{
480 fDegraderThickness = val;
481 if ( G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit ) {
482 G4RunManager::GetRunManager()->ReinitializeGeometry();
483 }
484}

◆ SetDegraderRadius()

void F04DetectorConstruction::SetDegraderRadius ( G4double  val)

Definition at line 468 of file F04DetectorConstruction.cc.

469{
470 fDegraderRadius = val;
471 if ( G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit ) {
472 G4RunManager::GetRunManager()->ReinitializeGeometry();
473 }
474}

◆ SetDegraderPos()

void F04DetectorConstruction::SetDegraderPos ( G4double  val)

Definition at line 488 of file F04DetectorConstruction.cc.

489{
490 fDegraderPos = val;
491 if ( G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit ) {
492 G4RunManager::GetRunManager()->ReinitializeGeometry();
493 }
494}

◆ GetWorldMaterial()

G4Material * F04DetectorConstruction::GetWorldMaterial ( )
inline

Definition at line 107 of file F04DetectorConstruction.hh.

107{return fWorldMaterial;}

◆ GetWorldSizeZ()

G4double F04DetectorConstruction::GetWorldSizeZ ( )
inline

Definition at line 108 of file F04DetectorConstruction.hh.

108{return fWorldSizeZ;}

◆ GetWorldSizeR()

G4double F04DetectorConstruction::GetWorldSizeR ( )
inline

Definition at line 109 of file F04DetectorConstruction.hh.

109{return fWorldSizeR;}

◆ GetCaptureMgnt()

G4LogicalVolume * F04DetectorConstruction::GetCaptureMgnt ( )
inline

Definition at line 111 of file F04DetectorConstruction.hh.

111{return fLogicCaptureMgnt;}

◆ GetCaptureMgntRadius()

G4double F04DetectorConstruction::GetCaptureMgntRadius ( )
inline

Definition at line 112 of file F04DetectorConstruction.hh.

112{return fCaptureMgntRadius;}

◆ GetCaptureMgntLength()

G4double F04DetectorConstruction::GetCaptureMgntLength ( )
inline

Definition at line 113 of file F04DetectorConstruction.hh.

113{return fCaptureMgntLength;}

◆ GetCaptureMgntB1()

G4double F04DetectorConstruction::GetCaptureMgntB1 ( )
inline

Definition at line 114 of file F04DetectorConstruction.hh.

114{return fCaptureMgntB1;}

◆ GetCaptureMgntB2()

G4double F04DetectorConstruction::GetCaptureMgntB2 ( )
inline

Definition at line 115 of file F04DetectorConstruction.hh.

115{return fCaptureMgntB2;}

◆ GetCaptureMgntCenter()

G4ThreeVector F04DetectorConstruction::GetCaptureMgntCenter ( )
inline

Definition at line 116 of file F04DetectorConstruction.hh.

116{return fCaptureMgntCenter;}

◆ GetTransferMgnt()

G4LogicalVolume * F04DetectorConstruction::GetTransferMgnt ( )
inline

Definition at line 118 of file F04DetectorConstruction.hh.

118{return fLogicTransferMgnt;}

◆ GetTransferMgntRadius()

G4double F04DetectorConstruction::GetTransferMgntRadius ( )
inline

Definition at line 119 of file F04DetectorConstruction.hh.

119{return fTransferMgntRadius;}

◆ GetTransferMgntLength()

G4double F04DetectorConstruction::GetTransferMgntLength ( )
inline

Definition at line 120 of file F04DetectorConstruction.hh.

120{return fTransferMgntLength;}

◆ GetTransferMgntB()

G4double F04DetectorConstruction::GetTransferMgntB ( )
inline

Definition at line 121 of file F04DetectorConstruction.hh.

121{return fTransferMgntB;}

◆ GetTransferMgntPos()

G4double F04DetectorConstruction::GetTransferMgntPos ( )
inline

Definition at line 122 of file F04DetectorConstruction.hh.

122{return fTransferMgntPos;}

◆ GetTransferMgntCenter()

G4ThreeVector F04DetectorConstruction::GetTransferMgntCenter ( )
inline

Definition at line 123 of file F04DetectorConstruction.hh.

123{return fTransferMgntCenter;}

◆ GetTargetMaterial()

G4Material * F04DetectorConstruction::GetTargetMaterial ( )
inline

Definition at line 125 of file F04DetectorConstruction.hh.

125{return fTargetMaterial;}

◆ GetTargetRadius()

G4double F04DetectorConstruction::GetTargetRadius ( )
inline

Definition at line 126 of file F04DetectorConstruction.hh.

126{return fTargetRadius;}

◆ GetTargetThickness()

G4double F04DetectorConstruction::GetTargetThickness ( )
inline

Definition at line 127 of file F04DetectorConstruction.hh.

127{return fTargetThickness;}

◆ GetTargetPos()

G4double F04DetectorConstruction::GetTargetPos ( )
inline

Definition at line 128 of file F04DetectorConstruction.hh.

128{return fTargetPos;}

◆ GetTargetAngle()

G4int F04DetectorConstruction::GetTargetAngle ( )
inline

Definition at line 129 of file F04DetectorConstruction.hh.

129{return fTargetAngle;}

◆ GetDegraderMaterial()

G4Material * F04DetectorConstruction::GetDegraderMaterial ( )
inline

Definition at line 131 of file F04DetectorConstruction.hh.

131{return fDegraderMaterial;}

◆ GetDegraderRadius()

G4double F04DetectorConstruction::GetDegraderRadius ( )
inline

Definition at line 132 of file F04DetectorConstruction.hh.

132{return fDegraderRadius;}

◆ GetDegraderThickness()

G4double F04DetectorConstruction::GetDegraderThickness ( )
inline

Definition at line 133 of file F04DetectorConstruction.hh.

133{return fDegraderThickness;}

◆ GetDegraderPos()

G4double F04DetectorConstruction::GetDegraderPos ( )
inline

Definition at line 134 of file F04DetectorConstruction.hh.

134{return fDegraderPos;}

◆ DefineMaterials()

void F04DetectorConstruction::DefineMaterials ( )
private

Definition at line 109 of file F04DetectorConstruction.cc.

110{
111 //define materials for the experiment
112
113 fVacuum = fMaterials->GetMaterial("G4_Galactic");
114
118}
G4Material * GetMaterial(G4String)

Member Data Documentation

◆ fDetectorMessenger

F04DetectorMessenger* F04DetectorConstruction::fDetectorMessenger = nullptr
private

Definition at line 138 of file F04DetectorConstruction.hh.

◆ fFieldSetUp

G4Cache<F04GlobalField*> F04DetectorConstruction::fFieldSetUp = nullptr
private

Definition at line 139 of file F04DetectorConstruction.hh.

◆ fMaterials

F04Materials* F04DetectorConstruction::fMaterials = nullptr
private

Definition at line 141 of file F04DetectorConstruction.hh.

◆ fVacuum

G4Material* F04DetectorConstruction::fVacuum = nullptr
private

Definition at line 143 of file F04DetectorConstruction.hh.

◆ fSolidWorld

G4Tubs* F04DetectorConstruction::fSolidWorld = nullptr
private

Definition at line 145 of file F04DetectorConstruction.hh.

◆ fLogicWorld

G4LogicalVolume* F04DetectorConstruction::fLogicWorld = nullptr
private

Definition at line 146 of file F04DetectorConstruction.hh.

◆ fPhysiWorld

G4VPhysicalVolume* F04DetectorConstruction::fPhysiWorld = nullptr
private

Definition at line 147 of file F04DetectorConstruction.hh.

◆ fSolidTarget

G4Tubs* F04DetectorConstruction::fSolidTarget = nullptr
private

Definition at line 149 of file F04DetectorConstruction.hh.

◆ fLogicTarget

G4LogicalVolume* F04DetectorConstruction::fLogicTarget = nullptr
private

Definition at line 150 of file F04DetectorConstruction.hh.

◆ fPhysiTarget

G4VPhysicalVolume* F04DetectorConstruction::fPhysiTarget = nullptr
private

Definition at line 151 of file F04DetectorConstruction.hh.

◆ fSolidDegrader

G4Tubs* F04DetectorConstruction::fSolidDegrader = nullptr
private

Definition at line 153 of file F04DetectorConstruction.hh.

◆ fLogicDegrader

G4LogicalVolume* F04DetectorConstruction::fLogicDegrader = nullptr
private

Definition at line 154 of file F04DetectorConstruction.hh.

◆ fPhysiDegrader

G4VPhysicalVolume* F04DetectorConstruction::fPhysiDegrader = nullptr
private

Definition at line 155 of file F04DetectorConstruction.hh.

◆ fSolidCaptureMgnt

G4Tubs* F04DetectorConstruction::fSolidCaptureMgnt = nullptr
private

Definition at line 157 of file F04DetectorConstruction.hh.

◆ fLogicCaptureMgnt

G4LogicalVolume* F04DetectorConstruction::fLogicCaptureMgnt = nullptr
private

Definition at line 158 of file F04DetectorConstruction.hh.

◆ fPhysiCaptureMgnt

G4VPhysicalVolume* F04DetectorConstruction::fPhysiCaptureMgnt = nullptr
private

Definition at line 159 of file F04DetectorConstruction.hh.

◆ fSolidTransferMgnt

G4Tubs* F04DetectorConstruction::fSolidTransferMgnt = nullptr
private

Definition at line 161 of file F04DetectorConstruction.hh.

◆ fLogicTransferMgnt

G4LogicalVolume* F04DetectorConstruction::fLogicTransferMgnt = nullptr
private

Definition at line 162 of file F04DetectorConstruction.hh.

◆ fPhysiTransferMgnt

G4VPhysicalVolume* F04DetectorConstruction::fPhysiTransferMgnt = nullptr
private

Definition at line 163 of file F04DetectorConstruction.hh.

◆ fWorldMaterial

G4Material* F04DetectorConstruction::fWorldMaterial = nullptr
private

Definition at line 165 of file F04DetectorConstruction.hh.

◆ fWorldSizeR

G4double F04DetectorConstruction::fWorldSizeR = 5. * CLHEP::m
private

Definition at line 166 of file F04DetectorConstruction.hh.

◆ fWorldSizeZ

G4double F04DetectorConstruction::fWorldSizeZ = 50. * CLHEP::m
private

Definition at line 167 of file F04DetectorConstruction.hh.

◆ fCaptureMgntLength

G4double F04DetectorConstruction::fCaptureMgntLength = 4.0 * CLHEP::m
private

Definition at line 169 of file F04DetectorConstruction.hh.

◆ fCaptureMgntRadius

G4double F04DetectorConstruction::fCaptureMgntRadius = 0.6 * CLHEP::m
private

Definition at line 170 of file F04DetectorConstruction.hh.

◆ fCaptureMgntB1

G4double F04DetectorConstruction::fCaptureMgntB1 = 0.
private

Definition at line 171 of file F04DetectorConstruction.hh.

◆ fCaptureMgntB2

G4double F04DetectorConstruction::fCaptureMgntB2 = 0.
private

Definition at line 172 of file F04DetectorConstruction.hh.

◆ fTransferMgntLength

G4double F04DetectorConstruction::fTransferMgntLength = 15.0 * CLHEP::m
private

Definition at line 174 of file F04DetectorConstruction.hh.

◆ fTransferMgntRadius

G4double F04DetectorConstruction::fTransferMgntRadius = 0.3 * CLHEP::m
private

Definition at line 175 of file F04DetectorConstruction.hh.

◆ fTransferMgntB

G4double F04DetectorConstruction::fTransferMgntB = 0.
private

Definition at line 176 of file F04DetectorConstruction.hh.

◆ fTransferMgntPos

G4double F04DetectorConstruction::fTransferMgntPos = 0.
private

Definition at line 177 of file F04DetectorConstruction.hh.

◆ fTargetMaterial

G4Material* F04DetectorConstruction::fTargetMaterial = nullptr
private

Definition at line 179 of file F04DetectorConstruction.hh.

◆ fTargetThickness

G4double F04DetectorConstruction::fTargetThickness = 16.0 * CLHEP::cm
private

Definition at line 180 of file F04DetectorConstruction.hh.

◆ fTargetRadius

G4double F04DetectorConstruction::fTargetRadius = 0.4 * CLHEP::cm
private

Definition at line 181 of file F04DetectorConstruction.hh.

◆ fTargetPos

G4double F04DetectorConstruction::fTargetPos = 0.
private

Definition at line 182 of file F04DetectorConstruction.hh.

◆ fTargetAngle

G4int F04DetectorConstruction::fTargetAngle = 0.
private

Definition at line 183 of file F04DetectorConstruction.hh.

◆ fDegraderMaterial

G4Material* F04DetectorConstruction::fDegraderMaterial = nullptr
private

Definition at line 185 of file F04DetectorConstruction.hh.

◆ fDegraderThickness

G4double F04DetectorConstruction::fDegraderThickness = 0.1 * CLHEP::cm
private

Definition at line 186 of file F04DetectorConstruction.hh.

◆ fDegraderRadius

G4double F04DetectorConstruction::fDegraderRadius = 30.0 * CLHEP::cm
private

Definition at line 187 of file F04DetectorConstruction.hh.

◆ fDegraderPos

G4double F04DetectorConstruction::fDegraderPos = 0.
private

Definition at line 188 of file F04DetectorConstruction.hh.

◆ fCaptureMgntCenter

G4ThreeVector F04DetectorConstruction::fCaptureMgntCenter
private

Definition at line 190 of file F04DetectorConstruction.hh.

◆ fTransferMgntCenter

G4ThreeVector F04DetectorConstruction::fTransferMgntCenter
private

Definition at line 190 of file F04DetectorConstruction.hh.


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

Applications | User Support | Publications | Collaboration