#include <musrDetectorConstruction.hh>
Public Member Functions | |
| musrDetectorConstruction () | |
| ~musrDetectorConstruction () | |
| G4VPhysicalVolume * | Construct () |
| void | SetTargetPos (G4double) |
| void | SetDetSep (G4double) |
| void | UpdateGeometry () |
| void | SetRadialNumber (G4int) |
| void | SetLengthNumber (G4int) |
| void | SetLargeRadius (G4double) |
| void | SetSmallRadius (G4double) |
| void | SetArrayLength (G4double) |
| void | SetDetectorThickness (G4double) |
| void | SetTargetMaterial (G4String) |
| void | SetBeampipeClearance (G4double) |
| void | SetCollimatorRadius (G4double) |
| void | SetTargetThickness (G4double) |
| const G4double | GetTargetFullLength () |
| G4double | GetWorldFullLength () |
| void | SetMagField (G4double) |
| void | SetUniformMagField (G4double) |
Definition at line 27 of file musrDetectorConstruction.hh.
|
|
Definition at line 43 of file musrDetectorConstruction.cc. References SetTargetMaterial(). 00044 :solidWorld(0), logicWorld(0), physiWorld(0), 00045 solidTarget(0), logicTarget(0), physiTarget(0), 00046 solidFDetector(0), logicForward(0), physiForward(0), 00047 solidBDetector(0), logicBackward(0), physiBackward(0), 00048 TargetMater(0),aTrackerSD(0),aShieldSD(0),aIForwardSD(0), 00049 aIBackwardSD(0) 00050 { 00051 00052 //Set the defaults 00053 fWorldLength= 3.5*m; 00054 fTargetLength = 0.5 * mm; 00055 00056 TargetPos=0*mm; 00057 ArrayLength=150*mm; 00058 LRadius=150*mm; 00059 SRadius=5*mm; 00060 NbOfRadialPixels=8; 00061 NbOfLengthPixels=8; 00062 fDetectorSeparation=10*cm; 00063 fDetectorThickness=1*mm; 00064 fCollimatorLength=50*mm; 00065 00066 CollimatorRadius=25.*mm; 00067 BeampipeClearance = 30*cm; 00068 OuterBeampipeRadius = 10*cm; 00069 00070 ShieldClearance = 5*cm; 00071 00072 DefineMaterials(); 00073 00074 SetTargetMaterial("Air"); 00075 00076 00077 00078 detectorMessenger = new musrDetectorMessenger(this); 00079 }
|
|
|
Definition at line 83 of file musrDetectorConstruction.cc.
|
|
|
Definition at line 90 of file musrDetectorConstruction.cc. Referenced by UpdateGeometry().
|
|
|
Definition at line 53 of file musrDetectorConstruction.hh.
|
|
|
Definition at line 54 of file musrDetectorConstruction.hh.
|
|
|
Definition at line 589 of file musrDetectorConstruction.cc. Referenced by musrDetectorMessenger::SetNewValue(). 00590 { 00591 ArrayLength=val; 00592 G4cout<< "Array length set to "<<ArrayLength <<"mm" <<endl; 00593 }
|
|
|
Definition at line 601 of file musrDetectorConstruction.cc. Referenced by musrDetectorMessenger::SetNewValue(). 00602 { 00603 BeampipeClearance=val; 00604 G4cout<< "Beampipe clearance set to "<< BeampipeClearance <<"mm" <<endl; 00605 }
|
|
|
Definition at line 607 of file musrDetectorConstruction.cc. Referenced by musrDetectorMessenger::SetNewValue(). 00608 { 00609 CollimatorRadius=val; 00610 G4cout<< "Collimator radius set to "<< CollimatorRadius <<"mm" <<endl; 00611 }
|
|
|
Definition at line 595 of file musrDetectorConstruction.cc. Referenced by musrDetectorMessenger::SetNewValue(). 00596 { 00597 fDetectorThickness=val; 00598 G4cout<< "Detector Thickness set to "<< fDetectorThickness <<"mm" <<endl; 00599 }
|
|
|
Definition at line 583 of file musrDetectorConstruction.cc. Referenced by musrDetectorMessenger::SetNewValue(). 00584 { 00585 fDetectorSeparation=val; 00586 G4cout<< "Detector separation set to "<<fDetectorSeparation <<"mm" <<endl; 00587 }
|
|
|
Definition at line 563 of file musrDetectorConstruction.cc. Referenced by musrDetectorMessenger::SetNewValue().
|
|
|
Definition at line 556 of file musrDetectorConstruction.cc. Referenced by musrDetectorMessenger::SetNewValue(). 00557 { 00558 NbOfLengthPixels = val; 00559 G4cout<< "Number of Length pixels set to "<< NbOfLengthPixels <<endl; 00560 }
|
|
|
Definition at line 645 of file musrDetectorConstruction.cc. Referenced by musrDetectorMessenger::SetNewValue(). 00646 { 00647 00648 //------------ Magnetic field from file ---------------------------- 00649 G4FieldManager *pFieldMgr; 00650 G4MagneticField* musrField= new musrTabulatedField3D("fieldprofiles/input.dat", fieldValue); 00651 pFieldMgr=G4TransportationManager::GetTransportationManager()->GetFieldManager(); 00652 00653 G4Mag_SpinEqRhs *Mag_SpinEqRhs; 00654 G4MagIntegratorStepper* pStepper; 00655 00656 Mag_SpinEqRhs = new G4Mag_SpinEqRhs(musrField); 00657 pStepper = new G4ClassicalRK4(Mag_SpinEqRhs,12); 00658 G4cout<< "DeltaStep "<<pFieldMgr->GetDeltaOneStep()/mm <<"mm" <<endl; 00659 00660 G4ChordFinder *pChordFinder = new G4ChordFinder(musrField,0.01*mm,pStepper); 00661 pFieldMgr->SetChordFinder( pChordFinder ); 00662 pFieldMgr->SetDetectorField(musrField); 00663 }
|
|
|
Definition at line 550 of file musrDetectorConstruction.cc. Referenced by musrDetectorMessenger::SetNewValue(). 00551 { 00552 NbOfRadialPixels = val; 00553 G4cout<< "Number of radial pixels set to "<< NbOfRadialPixels <<endl; 00554 }
|
|
|
Definition at line 569 of file musrDetectorConstruction.cc. Referenced by musrDetectorMessenger::SetNewValue().
|
|
|
Definition at line 536 of file musrDetectorConstruction.cc. Referenced by musrDetectorConstruction(), and musrDetectorMessenger::SetNewValue(). 00537 { 00538 // search the material by its name 00539 G4Material* pttoMaterial = G4Material::GetMaterial(materialName); 00540 if (pttoMaterial) {TargetMater = pttoMaterial;} 00541 G4cout<< "Target material set to "<< TargetMater <<endl; 00542 }
|
|
|
Definition at line 576 of file musrDetectorConstruction.cc. Referenced by musrDetectorMessenger::SetNewValue(). 00577 { 00578 TargetPos = val; 00579 G4cout<< "Target Position set to "<<TargetPos <<"mm" <<endl; 00580 }
|
|
|
Definition at line 544 of file musrDetectorConstruction.cc. Referenced by musrDetectorMessenger::SetNewValue(). 00545 { 00546 fTargetLength = val; 00547 G4cout<< "TargetThickness set to "<<fTargetLength <<"mm" <<endl; 00548 }
|
|
|
Definition at line 626 of file musrDetectorConstruction.cc. References musrMagneticField::SetFieldValue(). Referenced by musrDetectorMessenger::SetNewValue(). 00627 { // If we want a uniform field along z 00628 00629 G4FieldManager *pFieldMgr; 00630 musrMagneticField* musrUniformField= new musrMagneticField(); 00631 musrUniformField->SetFieldValue(fieldValue); 00632 00633 pFieldMgr=G4TransportationManager::GetTransportationManager()->GetFieldManager(); 00634 G4Mag_SpinEqRhs *Mag_SpinEqRhs; 00635 G4MagIntegratorStepper* pStepper; 00636 Mag_SpinEqRhs = new G4Mag_SpinEqRhs(musrUniformField); 00637 pStepper = new G4ClassicalRK4(Mag_SpinEqRhs,12); 00638 G4cout<< "DeltaStep "<<pFieldMgr->GetDeltaOneStep()/mm <<"mm" <<endl; 00639 G4ChordFinder *pChordFinder = new G4ChordFinder(musrUniformField,0.01*mm,pStepper); 00640 pFieldMgr->SetChordFinder( pChordFinder ); 00641 pFieldMgr->SetDetectorField(musrUniformField); 00642 }
|
|
|
Definition at line 618 of file musrDetectorConstruction.cc. References Construct(). Referenced by musrDetectorMessenger::SetNewValue(). 00619 { 00620 G4RunManager::GetRunManager()->DefineWorldVolume(Construct()); 00621 }
|
1.4.6