70   fLogicalVolumeVector(),fPhysicalVolumeVector()
 
   77   fLogicalVolumeVector.clear();
 
   78   fPhysicalVolumeVector.clear();
 
   89   G4double density, pressure, temperature;
 
  129   temperature = 2.73*
kelvin;
 
  134   density = 2.03*
g/
cm3;
 
  136   Concrete->
AddElement(elH , fractionmass= 0.01);
 
  137   Concrete->
AddElement(elO , fractionmass= 0.529);
 
  138   Concrete->
AddElement(elNa , fractionmass= 0.016);
 
  139   Concrete->
AddElement(elHg , fractionmass= 0.002);
 
  140   Concrete->
AddElement(elAl , fractionmass= 0.034);
 
  141   Concrete->
AddElement(elSi , fractionmass= 0.337);
 
  142   Concrete->
AddElement(elK , fractionmass= 0.013);
 
  143   Concrete->
AddElement(elCa , fractionmass= 0.044);
 
  144   Concrete->
AddElement(elFe , fractionmass= 0.014);
 
  145   Concrete->
AddElement(elC , fractionmass= 0.001);
 
  164                                      spanningAngleCylinder);
 
  170   fLogicalVolumeVector.push_back(worldCylinder_log); 
 
  172   name = 
"shieldWorld";
 
  177   fPhysicalVolumeVector.push_back(fWorldVolume);
 
  192                                spanningAngleShield);
 
  198   fLogicalVolumeVector.push_back(aShield_log);
 
  208   for (i=1; i<=18; i++)
 
  213     pos_z = startz + (i-1) * (2*heightShield);
 
  222     fPhysicalVolumeVector.push_back(pvol);
 
  229   innerRadiusShield = 0*
cm;
 
  230   outerRadiusShield = 100*
cm;
 
  232   startAngleShield  = 0*
deg;
 
  233   spanningAngleShield    = 360*
deg;
 
  240                              spanningAngleShield);
 
  244   fLogicalVolumeVector.push_back(aRest_log);
 
  259   fPhysicalVolumeVector.push_back(pvol_rest);
 
  269   G4cout << 
" B01DetectorConstruction:: Creating Importance Store " << 
G4endl;
 
  270   if (!fPhysicalVolumeVector.size())
 
  272     G4Exception(
"B01DetectorConstruction::CreateImportanceStore" 
  274                ,
"no physical volumes created yet!");
 
  277   fWorldVolume = fPhysicalVolumeVector[0];
 
  286   for (std::vector<G4VPhysicalVolume *>::iterator
 
  287        it =  fPhysicalVolumeVector.begin();
 
  288        it != fPhysicalVolumeVector.end() - 1; it++)
 
  290     if (*it != fWorldVolume)
 
  292       imp = std::pow(2., n++);
 
  293       G4cout << 
"Going to assign importance: " << imp << 
", to volume: "  
  294              << (*it)->GetName() << 
G4endl;
 
  303           *(fPhysicalVolumeVector[fPhysicalVolumeVector.size()-1]),++n);
 
  312   if (!fPhysicalVolumeVector.size())
 
  314     G4Exception(
"B01DetectorConstruction::CreateWeightWindowStore" 
  316                ,
"no physical volumes created yet!");
 
  319   fWorldVolume = fPhysicalVolumeVector[0];
 
  327   std::set<G4double, std::less<G4double> > enBounds;
 
  328   enBounds.insert(1 * 
GeV);
 
  333   std::vector<G4double> lowerWeights;
 
  335   lowerWeights.push_back(1);
 
  339   for (std::vector<G4VPhysicalVolume *>::iterator
 
  340        it =  fPhysicalVolumeVector.begin();
 
  341        it != fPhysicalVolumeVector.end() - 1; it++)
 
  343     if (*it != fWorldVolume)
 
  345       lowerWeight = 1./std::pow(2., n++);
 
  346       G4cout << 
"Going to assign lower weight: " << lowerWeight 
 
  348              << (*it)->GetName() << 
G4endl;
 
  350       lowerWeights.clear();
 
  351       lowerWeights.push_back(lowerWeight);
 
  360     gRestCell(*(fPhysicalVolumeVector[fPhysicalVolumeVector.size()-1]), ++n);
 
  370   std::ostringstream os;
 
  414   G4String concreteSDname = 
"ConcreteSD";
 
  431   for (std::vector<G4LogicalVolume *>::iterator it = 
 
  432                                                 fLogicalVolumeVector.begin();
 
  433        it != fLogicalVolumeVector.end(); it++){
 
G4bool RegisterPrimitive(G4VPrimitiveScorer *)
 
G4VPhysicalVolume * GetWorldVolume()
 
CLHEP::Hep3Vector G4ThreeVector
 
int universe_mean_density
 
void AddLowerWeights(const G4GeometryCell &gCell, const std::vector< G4double > &lowerWeights)
 
virtual G4VPhysicalVolume * Construct()
 
Definition of the B01DetectorConstruction class. 
 
B01DetectorConstruction()
 
void Weighted(G4bool flg=true)
 
void SetForceSolid(G4bool=true)
 
void Weighted(G4bool flg=true)
 
G4GLOB_DLL std::ostream G4cout
 
double A(double temperature)
 
G4VWeightWindowStore * CreateWeightWindowStore()
 
static constexpr double cm
 
void AddImportanceGeometryCell(G4double importance, const G4GeometryCell &gCell)
 
~B01DetectorConstruction()
 
void SetFilter(G4VSDFilter *value)
 
static G4WeightWindowStore * GetInstance()
 
static constexpr double kelvin
 
static constexpr double cm3
 
void SetSensitiveDetector(const G4String &logVolName, G4VSensitiveDetector *aSD, G4bool multi=false)
 
G4String GetCellName(G4int i)
 
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
 
void AddNewDetector(G4VSensitiveDetector *aSD)
 
G4VIStore * CreateImportanceStore()
 
static G4IStore * GetInstance()
 
static G4SDManager * GetSDMpointer()
 
void MultiplyKineticEnergy(G4bool flg=true)
 
void SetGeneralUpperEnergyBounds(const std::set< G4double, std::less< G4double > > &enBounds)
 
static constexpr double GeV
 
virtual void ConstructSDandField()
 
void AddElement(G4Element *element, G4int nAtoms)
 
static constexpr double deg
 
static constexpr double mole
 
void DivideByVelocity(G4bool flg=true)
 
void SetVisAttributes(const G4VisAttributes *pVA)