9#include "TrkExtAlg/ExtBesDetectorConstruction.h"
17#include "GDMLProcessor.hh"
18#include "GDMLExpressionEvaluator.hh"
21#include "G4BooleanSolid.hh"
22#include "G4Geo/BesG4Geo.h"
29 m_tofversion=tofversion;
44 fWorld=(G4VPhysicalVolume *)GDMLProcessor::GetInstance()->GetWorldVolume();
46 G4Exception(
"World volume not set properly check your setup selection criteria or GDML input!");
51 G4LogicalVolume* logicalBes =
const_cast<G4LogicalVolume*
>( GDMLProcessor::GetInstance()->GetLogicalVolume(
"logicalWorld" ) );
56 std::cout <<
"ExBesDetectorConstruction: You are using the old Tofdetector " << std::endl;
59 else if(m_tofversion==4)
61 std::cout <<
"ExBesDetectorConstruction: You are using the new (MRPC) Tofdetector with single end read out" << std::endl;
64 else if(m_tofversion==6)
66 std::cout <<
"ExBesDetectorConstruction: You are using the new (MRPC) Tofdetector with double sided read out" << std::endl;
72 std::cout <<
"ExBesDetectorConstruction: TofDetector is not well defined! \n " << std::endl;
73 std::cout <<
" Use in your jobOption script " << std::endl;
74 std::cout <<
" TrkExtAlg.Tof = 6; for the new Tof (MRPC Endcaps, double sided readout) " << std::endl;
75 std::cout <<
" TrkExtAlg.Tof = 4; for the new Tof (MRPC Endcaps, single end readout) " << std::endl;
76 std::cout <<
" TrkExtAlg.Tof = 2; for the old Tof. " << std::endl;
G4VPhysicalVolume * Construct()
~ExtBesDetectorConstruction()
ExtBesDetectorConstruction(const bool bFieldOn, int tofversion)
void Construct(G4LogicalVolume *)
void Construct(G4LogicalVolume *)
void Construct(G4LogicalVolume *logicBes)
void Construct_mrpc(G4LogicalVolume *logicBes)
void Construct(G4LogicalVolume *logicBes)
void Construct_mrpc_dbs(G4LogicalVolume *logicBes)