Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Static Public Member Functions
F04DetectorConstruction Class Reference

#include <F04DetectorConstruction.hh>

Inheritance diagram for F04DetectorConstruction:
G4VUserDetectorConstruction

Public Member Functions

 F04DetectorConstruction ()
 
virtual ~F04DetectorConstruction ()
 
virtual G4VPhysicalVolumeConstruct ()
 
G4VPhysicalVolumeConstructDetector ()
 
virtual void ConstructSDandField ()
 
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 ()
 
- Public Member Functions inherited from G4VUserDetectorConstruction
 G4VUserDetectorConstruction ()
 
virtual ~G4VUserDetectorConstruction ()
 
virtual void CloneSD ()
 
virtual void CloneF ()
 
void RegisterParallelWorld (G4VUserParallelWorld *)
 
G4int ConstructParallelGeometries ()
 
void ConstructParallelSD ()
 
G4int GetNumberOfParallelWorld () const
 
G4VUserParallelWorldGetParallelWorld (G4int i) const
 

Static Public Member Functions

static G4RotationMatrix StringToRotationMatrix (G4String rotation)
 

Additional Inherited Members

- Protected Member Functions inherited from G4VUserDetectorConstruction
void SetSensitiveDetector (const G4String &logVolName, G4VSensitiveDetector *aSD, G4bool multi=false)
 
void SetSensitiveDetector (G4LogicalVolume *logVol, G4VSensitiveDetector *aSD)
 

Detailed Description

Definition at line 54 of file F04DetectorConstruction.hh.

Constructor & Destructor Documentation

F04DetectorConstruction::F04DetectorConstruction ( )

Definition at line 69 of file F04DetectorConstruction.cc.

References python.hepunit::cm, python.hepunit::m, SetCaptureMgntB1(), SetCaptureMgntB2(), SetTargetAngle(), SetTransferMgntB(), and python.hepunit::tesla.

71  fDetectorMessenger(0),
72  fSolidWorld(0), fLogicWorld(0), fPhysiWorld(0),
73  fSolidTarget(0), fLogicTarget(0), fPhysiTarget(0),
74  fSolidDegrader(0), fLogicDegrader(0), fPhysiDegrader(0),
75  fSolidCaptureMgnt(0), fLogicCaptureMgnt(0), fPhysiCaptureMgnt(0),
76  fSolidTransferMgnt(0), fLogicTransferMgnt(0), fPhysiTransferMgnt(0),
77  fWorldMaterial(0), fTargetMaterial(0), fDegraderMaterial(0)
78 {
79  fWorldSizeZ = 50.*m;
80  fWorldSizeR = 5.*m;
81 
82  fTargetRadius = 0.4*cm;
83  fTargetThickness = 16.0*cm;
84 
85  SetTargetAngle(170);
86 
87  fDegraderRadius = 30.0*cm;
88  fDegraderThickness = 0.1*cm;
89 
90  fCaptureMgntRadius = 0.6*m;
91  fCaptureMgntLength = 4.0*m;
92 
95 
96  fTransferMgntRadius = 0.3*m;
97  fTransferMgntLength = 15.0*m;
98 
100 
101  fDegraderPos = -fTransferMgntLength/2. + fDegraderThickness/2.;
102 
103  fDetectorMessenger = new F04DetectorMessenger(this);
104 }
F04DetectorConstruction::~F04DetectorConstruction ( )
virtual

Definition at line 108 of file F04DetectorConstruction.cc.

109 {
110  delete fDetectorMessenger;
111 }

Member Function Documentation

G4VPhysicalVolume * F04DetectorConstruction::Construct ( void  )
virtual

Implements G4VUserDetectorConstruction.

Definition at line 115 of file F04DetectorConstruction.cc.

References G4PhysicalVolumeStore::Clean(), G4SolidStore::Clean(), G4LogicalVolumeStore::Clean(), ConstructDetector(), F04Materials::GetInstance(), G4SolidStore::GetInstance(), G4LogicalVolumeStore::GetInstance(), G4PhysicalVolumeStore::GetInstance(), G4GeometryManager::GetInstance(), and G4GeometryManager::OpenGeometry().

116 {
117 
118  if (fPhysiWorld) {
123  }
124 
125  fMaterials = F04Materials::GetInstance();
126 
127  DefineMaterials();
128 
129  return ConstructDetector();
130 }
G4VPhysicalVolume * ConstructDetector()
static void Clean()
Definition: G4SolidStore.cc:79
static G4PhysicalVolumeStore * GetInstance()
static G4LogicalVolumeStore * GetInstance()
static G4SolidStore * GetInstance()
static G4GeometryManager * GetInstance()
static F04Materials * GetInstance()
Definition: F04Materials.cc:60
void OpenGeometry(G4VPhysicalVolume *vol=0)
G4VPhysicalVolume * F04DetectorConstruction::ConstructDetector ( )

Definition at line 147 of file F04DetectorConstruction.cc.

References G4String::both, test::c, GetCaptureMgntLength(), GetCaptureMgntRadius(), GetDegraderMaterial(), GetDegraderPos(), GetDegraderRadius(), GetDegraderThickness(), GetTargetAngle(), GetTargetMaterial(), GetTargetPos(), GetTargetRadius(), GetTargetThickness(), GetTransferMgntLength(), GetTransferMgntPos(), GetTransferMgntRadius(), GetWorldMaterial(), GetWorldSizeR(), GetWorldSizeZ(), CLHEP::HepRotation::inverse(), python.hepunit::mm, StringToRotationMatrix(), G4String::strip(), python.hepunit::twopi, test::x, and z.

Referenced by Construct().

148 {
149  fSolidWorld = new G4Tubs("World",
150  0.,GetWorldSizeR(),GetWorldSizeZ()/2.,0.,twopi);
151 
152  fLogicWorld = new G4LogicalVolume(fSolidWorld,
154  "World");
155 
156  fPhysiWorld = new G4PVPlacement(0,
157  G4ThreeVector(),
158  "World",
159  fLogicWorld,
160  0,
161  false,
162  0);
163 
164  // Capture Magnet
165 
166  fSolidCaptureMgnt = new G4Tubs("CaptureMgnt",
168  GetCaptureMgntLength()/2.,0.,twopi);
169 
170  fLogicCaptureMgnt = new G4LogicalVolume(fSolidCaptureMgnt,
171  fVacuum,
172  "CaptureMgnt");
173 
174  fCaptureMgntCenter = G4ThreeVector();
175 
176  fPhysiCaptureMgnt = new G4PVPlacement(0,
177  fCaptureMgntCenter,
178  "CaptureMgnt",
179  fLogicCaptureMgnt,
180  fPhysiWorld,
181  false,
182  0);
183 
184  // Transfer Magnet
185 
186  fSolidTransferMgnt = new G4Tubs("TransferMgnt",
188  GetTransferMgntLength()/2.,0.,twopi);
189 
190  fLogicTransferMgnt = new G4LogicalVolume(fSolidTransferMgnt,
191  fVacuum,
192  "TransferMgnt");
193 
195  + GetTransferMgntPos();
197 
198  fTransferMgntCenter = G4ThreeVector(x,0.,z);
199 
200  G4RotationMatrix* g4rot = new G4RotationMatrix();
201  *g4rot = StringToRotationMatrix("Y30,X10");
202  *g4rot = g4rot->inverse();
203  if (*g4rot == G4RotationMatrix()) g4rot = NULL;
204 
205  fPhysiTransferMgnt = new G4PVPlacement(g4rot,
206  fTransferMgntCenter,
207  "TransferMgnt",
208  fLogicTransferMgnt,
209  fPhysiWorld,
210  false,
211  0);
212 
213  // Test Plane
214 
215  G4Tubs* solidTestPlane = new G4Tubs("TestPlane",
217  1.*mm,0.,twopi);
218 
219  G4LogicalVolume* logicTestPlane = new G4LogicalVolume(solidTestPlane,
220  fVacuum,
221  "TestPlane");
222 
223  z = GetTransferMgntLength()/2. - 1.*mm;
224 
225  G4ThreeVector testPlaneCenter = G4ThreeVector(0.,0.,z);
226 
227  new G4PVPlacement(0,
228  testPlaneCenter,
229  "TestPlane",
230  logicTestPlane,
231  fPhysiTransferMgnt,
232  false,
233  0);
234 
235  // Target
236 
237  if (GetTargetThickness() > 0.)
238  {
239  fSolidTarget = new G4Tubs("Target",
240  0.,GetTargetRadius(),
241  GetTargetThickness()/2.,0.,twopi);
242 
243  fLogicTarget = new G4LogicalVolume(fSolidTarget,
245  "Target");
246 
247  G4int i = GetTargetAngle();
248 
249  char c[4];
250  sprintf(c,"%d",i);
251  G4String angle = c;
252  angle = angle.strip(G4String::both,' ');
253  angle = "Y" + angle;
254 
255  g4rot = new G4RotationMatrix();
256  *g4rot = StringToRotationMatrix(angle);
257  *g4rot = g4rot->inverse();
258  if (*g4rot == G4RotationMatrix()) g4rot = NULL;
259 
260  G4ThreeVector targetCenter(0.,0.,GetTargetPos());
261 
262  fPhysiTarget = new G4PVPlacement(g4rot,
263  targetCenter,
264  "Target",
265  fLogicTarget,
266  fPhysiCaptureMgnt,
267  false,
268  0);
269  }
270 
271  // Degrader
272 
273  if (GetDegraderThickness() > 0.)
274  {
275  fSolidDegrader = new G4Tubs("Degrader",
276  0., GetDegraderRadius(),
277  GetDegraderThickness()/2., 0.,twopi);
278 
279  fLogicDegrader = new G4LogicalVolume(fSolidDegrader,
281  "Degrader");
282 
283  G4ThreeVector degraderCenter = G4ThreeVector(0.,0.,GetDegraderPos());
284 
285  fPhysiDegrader = new G4PVPlacement(0,
286  degraderCenter,
287  "Degrader",
288  fLogicDegrader,
289  fPhysiTransferMgnt,
290  false,
291  0);
292  }
293 
294  return fPhysiWorld;
295 }
CLHEP::Hep3Vector G4ThreeVector
CLHEP::HepRotation G4RotationMatrix
G4double z
Definition: TRTMaterials.hh:39
G4String strip(G4int strip_Type=trailing, char c=' ')
Definition: G4Tubs.hh:84
int G4int
Definition: G4Types.hh:78
HepRotation inverse() const
double G4double
Definition: G4Types.hh:76
static G4RotationMatrix StringToRotationMatrix(G4String rotation)
void F04DetectorConstruction::ConstructSDandField ( )
virtual

Reimplemented from G4VUserDetectorConstruction.

Definition at line 490 of file F04DetectorConstruction.cc.

References G4Cache< VALTYPE >::Get(), F04GlobalField::GetObject(), G4Cache< VALTYPE >::Put(), and G4AutoDelete::Register().

491 {
492  if (!fFieldSetUp.Get()) {
494  G4AutoDelete::Register(field); // Kernel will delete the F04GlobalField
495  fFieldSetUp.Put(field);
496  }
497 }
value_type & Get() const
Definition: G4Cache.hh:253
static F04GlobalField * GetObject()
void Register(T *inst)
Definition: G4AutoDelete.hh:65
void Put(const value_type &val) const
Definition: G4Cache.hh:257
G4LogicalVolume* F04DetectorConstruction::GetCaptureMgnt ( )
inline

Definition at line 110 of file F04DetectorConstruction.hh.

Referenced by F04GlobalField::ConstructField().

110 {return fLogicCaptureMgnt;}
G4double F04DetectorConstruction::GetCaptureMgntB1 ( )
inline

Definition at line 113 of file F04DetectorConstruction.hh.

Referenced by F04GlobalField::ConstructField().

113 {return fCaptureMgntB1;}
G4double F04DetectorConstruction::GetCaptureMgntB2 ( )
inline

Definition at line 114 of file F04DetectorConstruction.hh.

Referenced by F04GlobalField::ConstructField().

114 {return fCaptureMgntB2;}
G4ThreeVector F04DetectorConstruction::GetCaptureMgntCenter ( )
inline

Definition at line 115 of file F04DetectorConstruction.hh.

Referenced by F04GlobalField::ConstructField().

115 {return fCaptureMgntCenter;}
G4double F04DetectorConstruction::GetCaptureMgntLength ( )
inline

Definition at line 112 of file F04DetectorConstruction.hh.

Referenced by ConstructDetector().

112 {return fCaptureMgntLength;}
G4double F04DetectorConstruction::GetCaptureMgntRadius ( )
inline

Definition at line 111 of file F04DetectorConstruction.hh.

Referenced by ConstructDetector().

111 {return fCaptureMgntRadius;}
G4Material* F04DetectorConstruction::GetDegraderMaterial ( )
inline

Definition at line 130 of file F04DetectorConstruction.hh.

Referenced by ConstructDetector().

130 {return fDegraderMaterial;}
G4double F04DetectorConstruction::GetDegraderPos ( )
inline

Definition at line 133 of file F04DetectorConstruction.hh.

Referenced by ConstructDetector().

133 {return fDegraderPos;}
G4double F04DetectorConstruction::GetDegraderRadius ( )
inline

Definition at line 131 of file F04DetectorConstruction.hh.

Referenced by ConstructDetector().

131 {return fDegraderRadius;}
G4double F04DetectorConstruction::GetDegraderThickness ( )
inline

Definition at line 132 of file F04DetectorConstruction.hh.

Referenced by ConstructDetector().

132 {return fDegraderThickness;}
G4int F04DetectorConstruction::GetTargetAngle ( )
inline

Definition at line 128 of file F04DetectorConstruction.hh.

Referenced by ConstructDetector().

128 {return fTargetAngle;}
G4Material* F04DetectorConstruction::GetTargetMaterial ( )
inline

Definition at line 124 of file F04DetectorConstruction.hh.

Referenced by ConstructDetector().

124 {return fTargetMaterial;}
G4double F04DetectorConstruction::GetTargetPos ( )
inline

Definition at line 127 of file F04DetectorConstruction.hh.

Referenced by ConstructDetector().

127 {return fTargetPos;}
G4double F04DetectorConstruction::GetTargetRadius ( )
inline

Definition at line 125 of file F04DetectorConstruction.hh.

Referenced by ConstructDetector(), and F04PrimaryGeneratorAction::GeneratePrimaries().

125 {return fTargetRadius;}
G4double F04DetectorConstruction::GetTargetThickness ( )
inline
G4LogicalVolume* F04DetectorConstruction::GetTransferMgnt ( )
inline

Definition at line 117 of file F04DetectorConstruction.hh.

Referenced by F04GlobalField::ConstructField().

117 {return fLogicTransferMgnt;}
G4double F04DetectorConstruction::GetTransferMgntB ( )
inline

Definition at line 120 of file F04DetectorConstruction.hh.

Referenced by F04GlobalField::ConstructField().

120 {return fTransferMgntB;}
G4ThreeVector F04DetectorConstruction::GetTransferMgntCenter ( )
inline

Definition at line 122 of file F04DetectorConstruction.hh.

Referenced by F04GlobalField::ConstructField().

122 {return fTransferMgntCenter;}
G4double F04DetectorConstruction::GetTransferMgntLength ( )
inline

Definition at line 119 of file F04DetectorConstruction.hh.

Referenced by ConstructDetector().

119 {return fTransferMgntLength;}
G4double F04DetectorConstruction::GetTransferMgntPos ( )
inline

Definition at line 121 of file F04DetectorConstruction.hh.

Referenced by ConstructDetector().

121 {return fTransferMgntPos;}
G4double F04DetectorConstruction::GetTransferMgntRadius ( )
inline

Definition at line 118 of file F04DetectorConstruction.hh.

Referenced by ConstructDetector().

118 {return fTransferMgntRadius;}
G4Material* F04DetectorConstruction::GetWorldMaterial ( )
inline

Definition at line 106 of file F04DetectorConstruction.hh.

Referenced by ConstructDetector().

106 {return fWorldMaterial;}
G4double F04DetectorConstruction::GetWorldSizeR ( )
inline

Definition at line 108 of file F04DetectorConstruction.hh.

Referenced by ConstructDetector().

108 {return fWorldSizeR;}
G4double F04DetectorConstruction::GetWorldSizeZ ( )
inline

Definition at line 107 of file F04DetectorConstruction.hh.

Referenced by ConstructDetector().

107 {return fWorldSizeZ;}
void F04DetectorConstruction::SetCaptureMgntB1 ( G4double  val)

Definition at line 386 of file F04DetectorConstruction.cc.

References G4RunManager::GetRunManager(), and G4RunManager::ReinitializeGeometry().

Referenced by F04DetectorConstruction(), and F04FieldMessenger::SetNewValue().

387 {
388  fCaptureMgntB1 = val;
390 }
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
static G4RunManager * GetRunManager()
Definition: G4RunManager.cc:74
void F04DetectorConstruction::SetCaptureMgntB2 ( G4double  val)

Definition at line 394 of file F04DetectorConstruction.cc.

References G4RunManager::GetRunManager(), and G4RunManager::ReinitializeGeometry().

Referenced by F04DetectorConstruction(), and F04FieldMessenger::SetNewValue().

395 {
396  fCaptureMgntB2 = val;
398 }
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
static G4RunManager * GetRunManager()
Definition: G4RunManager.cc:74
void F04DetectorConstruction::SetCaptureMgntLength ( G4double  val)

Definition at line 378 of file F04DetectorConstruction.cc.

References G4RunManager::GetRunManager(), and G4RunManager::ReinitializeGeometry().

Referenced by F04DetectorMessenger::SetNewValue().

379 {
380  fCaptureMgntLength = val;
382 }
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
static G4RunManager * GetRunManager()
Definition: G4RunManager.cc:74
void F04DetectorConstruction::SetCaptureMgntRadius ( G4double  val)

Definition at line 370 of file F04DetectorConstruction.cc.

References G4RunManager::GetRunManager(), and G4RunManager::ReinitializeGeometry().

Referenced by F04DetectorMessenger::SetNewValue().

371 {
372  fCaptureMgntRadius = val;
374 }
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
static G4RunManager * GetRunManager()
Definition: G4RunManager.cc:74
void F04DetectorConstruction::SetDegraderMaterial ( G4String  materialChoice)

Definition at line 335 of file F04DetectorConstruction.cc.

References G4NistManager::FindOrBuildMaterial(), G4cout, G4endl, G4RunManager::GetRunManager(), G4NistManager::Instance(), and G4RunManager::PhysicsHasBeenModified().

Referenced by F04DetectorMessenger::SetNewValue().

337 {
338  G4Material* pttoMaterial =
339  G4NistManager::Instance()->FindOrBuildMaterial(materialChoice);
340 
341  if (pttoMaterial != fDegraderMaterial) {
342  if ( pttoMaterial ) {
343  fDegraderMaterial = pttoMaterial;
345  } else {
346  G4cout << "\n--> WARNING from SetDegraderMaterial : "
347  << materialChoice << " not found" << G4endl;
348  }
349  }
350 }
G4Material * FindOrBuildMaterial(const G4String &name, G4bool isotopes=true, G4bool warning=false)
static G4NistManager * Instance()
G4GLOB_DLL std::ostream G4cout
void PhysicsHasBeenModified()
static G4RunManager * GetRunManager()
Definition: G4RunManager.cc:74
#define G4endl
Definition: G4ios.hh:61
void F04DetectorConstruction::SetDegraderPos ( G4double  val)

Definition at line 482 of file F04DetectorConstruction.cc.

References G4RunManager::GetRunManager(), and G4RunManager::ReinitializeGeometry().

Referenced by F04DetectorMessenger::SetNewValue().

483 {
484  fDegraderPos = val;
486 }
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
static G4RunManager * GetRunManager()
Definition: G4RunManager.cc:74
void F04DetectorConstruction::SetDegraderRadius ( G4double  val)

Definition at line 466 of file F04DetectorConstruction.cc.

References G4RunManager::GetRunManager(), and G4RunManager::ReinitializeGeometry().

Referenced by F04DetectorMessenger::SetNewValue().

467 {
468  fDegraderRadius = val;
470 }
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
static G4RunManager * GetRunManager()
Definition: G4RunManager.cc:74
void F04DetectorConstruction::SetDegraderThickness ( G4double  val)

Definition at line 474 of file F04DetectorConstruction.cc.

References G4RunManager::GetRunManager(), and G4RunManager::ReinitializeGeometry().

Referenced by F04DetectorMessenger::SetNewValue().

475 {
476  fDegraderThickness = val;
478 }
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
static G4RunManager * GetRunManager()
Definition: G4RunManager.cc:74
void F04DetectorConstruction::SetTargetAngle ( G4int  val)

Definition at line 458 of file F04DetectorConstruction.cc.

References G4RunManager::GetRunManager(), and G4RunManager::ReinitializeGeometry().

Referenced by F04DetectorConstruction(), and F04DetectorMessenger::SetNewValue().

459 {
460  fTargetAngle = val;
462 }
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
static G4RunManager * GetRunManager()
Definition: G4RunManager.cc:74
void F04DetectorConstruction::SetTargetMaterial ( G4String  materialChoice)

Definition at line 317 of file F04DetectorConstruction.cc.

References G4NistManager::FindOrBuildMaterial(), G4cout, G4endl, G4RunManager::GetRunManager(), G4NistManager::Instance(), and G4RunManager::PhysicsHasBeenModified().

Referenced by F04DetectorMessenger::SetNewValue().

318 {
319  G4Material* pttoMaterial =
320  G4NistManager::Instance()->FindOrBuildMaterial(materialChoice);
321 
322  if (pttoMaterial != fTargetMaterial) {
323  if ( pttoMaterial ) {
324  fTargetMaterial = pttoMaterial;
326  } else {
327  G4cout << "\n--> WARNING from SetTargetMaterial : "
328  << materialChoice << " not found" << G4endl;
329  }
330  }
331 }
G4Material * FindOrBuildMaterial(const G4String &name, G4bool isotopes=true, G4bool warning=false)
static G4NistManager * Instance()
G4GLOB_DLL std::ostream G4cout
void PhysicsHasBeenModified()
static G4RunManager * GetRunManager()
Definition: G4RunManager.cc:74
#define G4endl
Definition: G4ios.hh:61
void F04DetectorConstruction::SetTargetPos ( G4double  val)

Definition at line 450 of file F04DetectorConstruction.cc.

References G4RunManager::GetRunManager(), and G4RunManager::ReinitializeGeometry().

Referenced by F04DetectorMessenger::SetNewValue().

451 {
452  fTargetPos = val;
454 }
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
static G4RunManager * GetRunManager()
Definition: G4RunManager.cc:74
void F04DetectorConstruction::SetTargetRadius ( G4double  val)

Definition at line 434 of file F04DetectorConstruction.cc.

References G4RunManager::GetRunManager(), and G4RunManager::ReinitializeGeometry().

Referenced by F04DetectorMessenger::SetNewValue().

435 {
436  fTargetRadius = val;
438 }
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
static G4RunManager * GetRunManager()
Definition: G4RunManager.cc:74
void F04DetectorConstruction::SetTargetThickness ( G4double  val)

Definition at line 442 of file F04DetectorConstruction.cc.

References G4RunManager::GetRunManager(), and G4RunManager::ReinitializeGeometry().

Referenced by F04DetectorMessenger::SetNewValue().

443 {
444  fTargetThickness = val;
446 }
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
static G4RunManager * GetRunManager()
Definition: G4RunManager.cc:74
void F04DetectorConstruction::SetTransferMgntB ( G4double  val)

Definition at line 418 of file F04DetectorConstruction.cc.

References G4RunManager::GetRunManager(), and G4RunManager::ReinitializeGeometry().

Referenced by F04DetectorConstruction(), and F04FieldMessenger::SetNewValue().

419 {
420  fTransferMgntB = val;
422 }
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
static G4RunManager * GetRunManager()
Definition: G4RunManager.cc:74
void F04DetectorConstruction::SetTransferMgntLength ( G4double  val)

Definition at line 410 of file F04DetectorConstruction.cc.

References G4RunManager::GetRunManager(), and G4RunManager::ReinitializeGeometry().

Referenced by F04DetectorMessenger::SetNewValue().

411 {
412  fTransferMgntLength = val;
414 }
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
static G4RunManager * GetRunManager()
Definition: G4RunManager.cc:74
void F04DetectorConstruction::SetTransferMgntPos ( G4double  val)

Definition at line 426 of file F04DetectorConstruction.cc.

References G4RunManager::GetRunManager(), and G4RunManager::ReinitializeGeometry().

Referenced by F04DetectorMessenger::SetNewValue().

427 {
428  fTransferMgntPos = val;
430 }
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
static G4RunManager * GetRunManager()
Definition: G4RunManager.cc:74
void F04DetectorConstruction::SetTransferMgntRadius ( G4double  val)

Definition at line 402 of file F04DetectorConstruction.cc.

References G4RunManager::GetRunManager(), and G4RunManager::ReinitializeGeometry().

Referenced by F04DetectorMessenger::SetNewValue().

403 {
404  fTransferMgntRadius = val;
406 }
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
static G4RunManager * GetRunManager()
Definition: G4RunManager.cc:74
void F04DetectorConstruction::SetWorldMaterial ( G4String  materialChoice)

Definition at line 299 of file F04DetectorConstruction.cc.

References G4NistManager::FindOrBuildMaterial(), G4cout, G4endl, G4RunManager::GetRunManager(), G4NistManager::Instance(), and G4RunManager::PhysicsHasBeenModified().

Referenced by F04DetectorMessenger::SetNewValue().

300 {
301  G4Material* pttoMaterial =
302  G4NistManager::Instance()->FindOrBuildMaterial(materialChoice);
303 
304  if (pttoMaterial != fWorldMaterial) {
305  if ( pttoMaterial ) {
306  fWorldMaterial = pttoMaterial;
308  } else {
309  G4cout << "\n--> WARNING from SetWorldMaterial : "
310  << materialChoice << " not found" << G4endl;
311  }
312  }
313 }
G4Material * FindOrBuildMaterial(const G4String &name, G4bool isotopes=true, G4bool warning=false)
static G4NistManager * Instance()
G4GLOB_DLL std::ostream G4cout
void PhysicsHasBeenModified()
static G4RunManager * GetRunManager()
Definition: G4RunManager.cc:74
#define G4endl
Definition: G4ios.hh:61
void F04DetectorConstruction::SetWorldSizeR ( G4double  val)

Definition at line 362 of file F04DetectorConstruction.cc.

References G4RunManager::GetRunManager(), and G4RunManager::ReinitializeGeometry().

Referenced by F04DetectorMessenger::SetNewValue().

363 {
364  fWorldSizeR = val;
366 }
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
static G4RunManager * GetRunManager()
Definition: G4RunManager.cc:74
void F04DetectorConstruction::SetWorldSizeZ ( G4double  val)

Definition at line 354 of file F04DetectorConstruction.cc.

References G4RunManager::GetRunManager(), and G4RunManager::ReinitializeGeometry().

Referenced by F04DetectorMessenger::SetNewValue().

355 {
356  fWorldSizeZ = val;
358 }
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
static G4RunManager * GetRunManager()
Definition: G4RunManager.cc:74
G4RotationMatrix F04DetectorConstruction::StringToRotationMatrix ( G4String  rotation)
static

Definition at line 502 of file F04DetectorConstruction.cc.

References python.hepunit::deg, G4cerr, and G4endl.

Referenced by ConstructDetector().

503 {
504  // We apply successive rotations OF THE OBJECT around the FIXED
505  // axes of the parent's local coordinates; rotations are applied
506  // left-to-right (rotation="r1,r2,r3" => r1 then r2 then r3).
507 
508  G4RotationMatrix rot;
509 
510  unsigned int place = 0;
511 
512  while (place < rotation.size()) {
513 
514  G4double angle;
515  char* p(0);
516  G4String current=rotation.substr(place+1);
517  angle = strtod(current.c_str(),&p) * deg;
518 
519  if (!p || (*p != ',' && *p != '\0')) {
520  G4cerr << "Invalid rotation specification: " <<
521  rotation.c_str() << G4endl;
522 
523  return rot;
524  }
525 
526  G4RotationMatrix thisRotation;
527 
528  switch(rotation.substr(place,1).c_str()[0]) {
529  case 'X': case 'x':
530  thisRotation = G4RotationMatrix(CLHEP::HepRotationX(angle));
531  break;
532  case 'Y': case 'y':
533  thisRotation = G4RotationMatrix(CLHEP::HepRotationY(angle));
534  break;
535  case 'Z': case 'z':
536  thisRotation = G4RotationMatrix(CLHEP::HepRotationZ(angle));
537  break;
538  default:
539  G4cerr << " Invalid rotation specification: "
540  << rotation << G4endl;
541  return rot;
542  }
543 
544  rot = thisRotation * rot;
545  place = rotation.find(',',place);
546  if (place > rotation.size()) break;
547  ++place;
548  }
549 
550  return rot;
551 
552 }
CLHEP::HepRotation G4RotationMatrix
const char * p
Definition: xmltok.h:285
#define G4endl
Definition: G4ios.hh:61
double G4double
Definition: G4Types.hh:76
G4GLOB_DLL std::ostream G4cerr

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