80   fHodoscope1Logical(0), fHodoscope2Logical(0),
 
   81   fWirePlane1Logical(0), fWirePlane2Logical(0),
 
   82   fCellLogical(0), fHadCalScintiLogical(0),
 
   85   fArmAngle(30.*
deg), fArmRotation(0), fSecondArmPhys(0)
 
   89     fArmRotation->
rotateY(fArmAngle);
 
  102     for (
G4int i=0; i<
G4int(fVisAttributes.size()); ++i) 
 
  104       delete fVisAttributes[i];
 
  124     G4bool checkOverlaps = 
true;
 
  129       = 
new G4Box(
"worldBox",10.*
m,3.*
m,10.*
m);
 
  134                           false,0,checkOverlaps);
 
  139       = 
new G4Tubs(
"magneticTubs",0.,1.*
m,1.*
m,0.,360.*
deg);
 
  149                       "magneticPhysical",worldLogical,
 
  150                       false,0,checkOverlaps);
 
  158       = 
new G4Box(
"firstArmBox",1.5*
m,1.*
m,3.*
m);
 
  162                       "firstArmPhysical",worldLogical,
 
  163                       false,0,checkOverlaps);
 
  167       = 
new G4Box(
"secondArmBox",2.*
m,2.*
m,3.5*
m);
 
  174                           "fSecondArmPhys",worldLogical,
 
  175                           false,0,checkOverlaps);
 
  181       = 
new G4LogicalVolume(hodoscope1Solid,scintillator,
"hodoscope1Logical");
 
  182     for (
G4int i=0;i<15;i++)
 
  186                           "hodoscope1Physical",firstArmLogical,
 
  187                           false,i,checkOverlaps);
 
  195     for (
G4int i=0;i<5;i++)
 
  199                           "chamber1Physical",firstArmLogical,
 
  200                           false,i,checkOverlaps);
 
  205       = 
new G4Box(
"wirePlane1Box",1.*
m,30.*
cm,0.1*
mm);
 
  209                       "wirePlane1Physical",chamber1Logical,
 
  210                       false,0,checkOverlaps);
 
  216       = 
new G4LogicalVolume(hodoscope2Solid,scintillator,
"hodoscope2Logical");
 
  217     for (
G4int i=0;i<25;i++)
 
  221                           "hodoscope2Physical",secondArmLogical,
 
  222                           false,i,checkOverlaps);
 
  227       = 
new G4Box(
"chamber2Box",1.5*
m,30.*
cm,1.*
cm);
 
  230     for (
G4int i=0;i<5;i++)
 
  234                           "chamber2Physical",secondArmLogical,
 
  235                           false,i,checkOverlaps);
 
  240       = 
new G4Box(
"wirePlane2Box",1.5*
m,30.*
cm,0.1*
mm);
 
  244                       "wirePlane2Physical",chamber2Logical,
 
  245                       false,0,checkOverlaps);
 
  249       = 
new G4Box(
"EMcalorimeterBox",1.5*
m,30.*
cm,15.*
cm);
 
  253                       "EMcalorimeterPhysical",secondArmLogical,
 
  254                       false,0,checkOverlaps);
 
  267       = 
new G4Box(
"HadCalorimeterBox",1.5*
m,30.*
cm,50.*
cm);
 
  269       = 
new G4LogicalVolume(hadCalorimeterSolid,lead,
"HadCalorimeterLogical");
 
  271                       "HadCalorimeterPhysical",secondArmLogical,
 
  272                       false,0,checkOverlaps);
 
  276       = 
new G4Box(
"HadCalColumnBox",15.*
cm,30.*
cm,50.*
cm);
 
  279     new G4PVReplica(
"HadCalColumnPhysical",HadCalColumnLogical,
 
  280                     hadCalorimeterLogical,
kXAxis,10,30.*
cm);
 
  287     new G4PVReplica(
"HadCalCellPhysical",HadCalCellLogical,
 
  288                     HadCalColumnLogical,
kYAxis,2,30.*
cm);
 
  292       = 
new G4Box(
"HadCalLayerBox",15.*
cm,15.*
cm,2.5*
cm);
 
  295     new G4PVReplica(
"HadCalLayerPhysical",HadCalLayerLogical,
 
  300       = 
new G4Box(
"HadCalScintiBox",15.*
cm,15.*
cm,0.5*
cm);
 
  303                             "HadCalScintiLogical");
 
  305                       "HadCalScintiPhysical",HadCalLayerLogical,
 
  306                       false,0,checkOverlaps);
 
  313     fVisAttributes.push_back(visAttributes);
 
  317     fVisAttributes.push_back(visAttributes);
 
  323     fVisAttributes.push_back(visAttributes);
 
  328     fVisAttributes.push_back(visAttributes);
 
  333     fVisAttributes.push_back(visAttributes);
 
  339     fVisAttributes.push_back(visAttributes);
 
  344     fVisAttributes.push_back(visAttributes);
 
  348     fVisAttributes.push_back(visAttributes);
 
  352     fVisAttributes.push_back(visAttributes);
 
  360     fVisAttributes.push_back(visAttributes);
 
  364     return worldPhysical;
 
  410     G4bool forceToAllDaughters = 
true;
 
  463         G4cerr << 
"Detector has not yet been constructed." << 
G4endl;
 
  469     fArmRotation->
rotateY(fArmAngle);
 
  480 void B5DetectorConstruction::DefineCommands()
 
  491                                   "Set rotation angle of the second arm.");
 
  493     armAngleCmd.
SetRange(
"angle>=0. && angle<180.");
 
void GeometryHasBeenModified(G4bool prop=true)
 
Definition of the B5HadCalorimeterSD class. 
 
Definition of the B5CellParameterisation class. 
 
G4Material * FindOrBuildMaterial(const G4String &name, G4bool isotopes=true, G4bool warning=false)
 
void SetArmAngle(G4double val)
 
Definition of the B5DetectorConstruction class. 
 
Definition of the B5DriftChamberSD class. 
 
CLHEP::Hep3Vector G4ThreeVector
 
HepRotation & rotateX(double delta)
 
CLHEP::HepRotation G4RotationMatrix
 
G4bool SetDetectorField(G4Field *detectorField)
 
This class is generic messenger. 
 
static G4Material * GetMaterial(const G4String &name, G4bool warning=true)
 
void SetVisibility(G4bool)
 
void SetUserLimits(G4UserLimits *pULimits)
 
virtual ~B5DetectorConstruction()
 
static G4MaterialTable * GetMaterialTable()
 
Drift chamber sensitive detector. 
 
Definition of the B5EmCalorimeterSD class. 
 
HepRotation & rotateY(double delta)
 
Command & DeclareMethodWithUnit(const G4String &name, const G4String &defaultUnit, const G4AnyMethod &fun, const G4String &doc="")
 
static G4NistManager * Instance()
 
void ConstructMaterials()
 
void SetFieldManager(G4FieldManager *pFieldMgr, G4bool forceToAllDaughters)
 
Command & SetDefaultValue(const G4String &)
 
virtual G4VPhysicalVolume * Construct()
 
G4GLOB_DLL std::ostream G4cout
 
EM Calorimeter cell parameterisation. 
 
virtual void ConstructSDandField()
 
void SetTranslation(const G4ThreeVector &v)
 
Command & SetRange(const G4String &range)
 
void AddNewDetector(G4VSensitiveDetector *aSD)
 
static G4RunManager * GetRunManager()
 
Definition of the B5MagneticField class. 
 
Definition of the B5HodoscopeSD class. 
 
static G4SDManager * GetSDMpointer()
 
Hodoscope sensitive detector. 
 
Command & SetParameterName(const G4String &, G4bool, G4bool=false)
 
void CreateChordFinder(G4MagneticField *detectorMagField)
 
EM calorimeter sensitive detector. 
 
void SetVisAttributes(const G4VisAttributes *pVA)
 
void SetSensitiveDetector(G4VSensitiveDetector *pSDetector)
 
Hadron calorimeter sensitive detector. 
 
G4GLOB_DLL std::ostream G4cerr