BOSS 7.0.1
BESIII Offline Software System
Loading...
Searching...
No Matches
ExtBesDetectorConstruction Class Reference

#include <ExtBesDetectorConstruction.h>

+ Inheritance diagram for ExtBesDetectorConstruction:

Public Member Functions

 ExtBesDetectorConstruction (const bool bFieldOn, int tofversion)
 
 ~ExtBesDetectorConstruction ()
 
G4VPhysicalVolume * Construct ()
 
 ExtBesDetectorConstruction (const bool bFieldOn, int tofversion)
 
 ~ExtBesDetectorConstruction ()
 
G4VPhysicalVolume * Construct ()
 

Detailed Description

Constructor & Destructor Documentation

◆ ExtBesDetectorConstruction() [1/2]

ExtBesDetectorConstruction::ExtBesDetectorConstruction ( const bool  bFieldOn,
int  tofversion 
)

Definition at line 25 of file ExtBesDetectorConstruction.cxx.

26{
27 if(bFieldOn) besField = new ExtBesMagneticField();
28 fWorld=0;
29 m_detVer = detVer;
30}

◆ ~ExtBesDetectorConstruction() [1/2]

ExtBesDetectorConstruction::~ExtBesDetectorConstruction ( )

Definition at line 33 of file ExtBesDetectorConstruction.cxx.

34{
35 if(besField)
36 delete besField;
37}

◆ ExtBesDetectorConstruction() [2/2]

ExtBesDetectorConstruction::ExtBesDetectorConstruction ( const bool  bFieldOn,
int  tofversion 
)

◆ ~ExtBesDetectorConstruction() [2/2]

ExtBesDetectorConstruction::~ExtBesDetectorConstruction ( )

Member Function Documentation

◆ Construct() [1/2]

G4VPhysicalVolume * ExtBesDetectorConstruction::Construct ( )

Definition at line 40 of file ExtBesDetectorConstruction.cxx.

41{
42 BesG4Geo* aBesG4Geo = new BesG4Geo();
43
44 fWorld=(G4VPhysicalVolume *)GDMLProcessor::GetInstance()->GetWorldVolume();
45 if( fWorld == 0 ) {
46 G4Exception("World volume not set properly check your setup selection criteria or GDML input!");
47 }
48
49 delete aBesG4Geo;
50
51 G4LogicalVolume* logicalBes = const_cast<G4LogicalVolume*>( GDMLProcessor::GetInstance()->GetLogicalVolume("logicalWorld" ) );
52 Mdc.Construct(logicalBes);
53
54
55 if( m_detVer==1 || m_detVer==2 ) {
56 std::cout << "ExBesDetectorConstruction: You are using the Sintillator Tof Detector!" << std::endl;
57 Tof.Construct(logicalBes);
58 }
59 else if( m_detVer==3 ) {
60 std::cout << "ExBesDetectorConstruction: You are using the upgraded (MRPC) Tof Detector!" << std::endl;
61 Tof.ConstructETF(logicalBes);
62 }
63 else {
64 std::cout << "ExBesDetectorConstruction: Detector Version is not well defined! " << m_detVer << " \n " << std::endl;
65 std::cout << " Use in your jobOption script " << std::endl;
66 std::cout << " TrkExtAlg.Tof = 1; for the upgraded Tof (MRPC Endcaps, double sided readout) " << std::endl;
67 std::cout << " TrkExtAlg.Tof = 0; for the Sintillator Tof. " << std::endl;
68 }
69
70
71 Emc.Construct(logicalBes);
72 Muc.Construct(logicalBes);
73
74 return fWorld;
75}
void Construct(G4LogicalVolume *)
void Construct(G4LogicalVolume *)
void Construct(G4LogicalVolume *logicBes)
void ConstructETF(G4LogicalVolume *logicBes)
void Construct(G4LogicalVolume *logicBes)

◆ Construct() [2/2]

G4VPhysicalVolume * ExtBesDetectorConstruction::Construct ( )

The documentation for this class was generated from the following files: