31 #include "DetectorConstruction.hh"
32 #include "DetectorMessenger.hh"
59 :fiberMat(0),lvol_fiber(0), absorberMat(0),lvol_layer(0),
60 moduleMat(0),lvol_module(0), calorimeterMat(0),lvol_calorimeter(0),
61 worldMat(0),pvol_world(0), defaultMat(0), magField(0)
120 G4int natoms, ncomponents;
131 new G4Material(
"Scintillator", density= 1.032*
g/
cm3, ncomponents=2);
146 density = universe_mean_density;
181 svol_fiber =
new G4Tubs(
"fiber",
197 svol_layer =
new G4Box(
"layer",
198 0.5*sizeX, 0.5*sizeY, 0.5*sizeZ);
230 svol_module =
new G4Box(
"module",
231 0.5*sizeX, 0.5*sizeY, 0.5*sizeZ);
263 svol_calorimeter =
new G4Box(
"calorimeter",
264 0.5*sizeX, 0.5*sizeY, 0.5*sizeZ);
278 rotmX->rotateX(90*
deg);
282 if ((k+1)%2 == 0) rotm = rotmX;
302 svol_world =
new G4Box(
"world",
303 0.5*sizeX, 0.5*sizeY, 0.5*sizeZ);
349 G4cout <<
"\n-------------------------------------------------------------"
350 <<
"\n ---> The calorimeter is " <<
nbOfModules <<
" Modules"
351 <<
"\n ---> A Module is " <<
nbOfLayers <<
" Layers + 1 milled Layer";
358 <<
"\n ---> A Layer includes " <<
nbOfFibers <<
" fibers of "
377 G4cout <<
"\n-------------------------------------------------------------\n";
G4IonisParamMat * GetIonisation() const
G4UniformMagField * magField
CLHEP::Hep3Vector G4ThreeVector
CLHEP::HepRotation G4RotationMatrix
G4LogicalVolume * lvol_layer
G4bool SetDetectorField(G4Field *detectorField)
const G4String & GetName() const
G4VPhysicalVolume * Construct()
void SetBirksConstant(G4double value)
static G4MaterialTable * GetMaterialTable()
#define G4BestUnit(a, b)
#define G4_USE_G4BESTUNIT_FOR_VERBOSE 1
G4LogicalVolume * lvol_fiber
virtual void DefineWorldVolume(G4VPhysicalVolume *worldVol, G4bool topologyIsChanged=true)
static G4PhysicalVolumeStore * GetInstance()
G4Material * calorimeterMat
G4GLOB_DLL std::ostream G4cout
static G4LogicalVolumeStore * GetInstance()
static G4SolidStore * GetInstance()
static const double perCent
G4LogicalVolume * lvol_module
static G4GeometryManager * GetInstance()
static const double kelvin
static G4TransportationManager * GetTransportationManager()
G4FieldManager * GetFieldManager() const
static G4RunManager * GetRunManager()
void SetMagField(G4double)
G4double distanceInterFibers
G4VPhysicalVolume * pvol_world
DetectorMessenger * detectorMessenger
G4VPhysicalVolume * ConstructCalorimeter()
static const G4VisAttributes Invisible
G4LogicalVolume * lvol_world
void OpenGeometry(G4VPhysicalVolume *vol=0)
void AddElement(G4Element *element, G4int nAtoms)
void CreateChordFinder(G4MagneticField *detectorMagField)
void PrintCalorParameters()
G4LogicalVolume * lvol_calorimeter
Messenger class that defines commands for DetectorConstruction.
void SetVisAttributes(const G4VisAttributes *pVA)