Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions
B4cDetectorConstruction Class Reference

#include <B4cDetectorConstruction.hh>

Inheritance diagram for B4cDetectorConstruction:
G4VUserDetectorConstruction

Public Member Functions

 B4cDetectorConstruction ()
 
virtual ~B4cDetectorConstruction ()
 
virtual G4VPhysicalVolumeConstruct ()
 
virtual void ConstructSDandField ()
 
- Public Member Functions inherited from G4VUserDetectorConstruction
 G4VUserDetectorConstruction ()
 
virtual ~G4VUserDetectorConstruction ()
 
virtual void CloneSD ()
 
virtual void CloneF ()
 
void RegisterParallelWorld (G4VUserParallelWorld *)
 
G4int ConstructParallelGeometries ()
 
void ConstructParallelSD ()
 
G4int GetNumberOfParallelWorld () const
 
G4VUserParallelWorldGetParallelWorld (G4int i) const
 

Additional Inherited Members

- Protected Member Functions inherited from G4VUserDetectorConstruction
void SetSensitiveDetector (const G4String &logVolName, G4VSensitiveDetector *aSD, G4bool multi=false)
 
void SetSensitiveDetector (G4LogicalVolume *logVol, G4VSensitiveDetector *aSD)
 

Detailed Description

Detector construction class to define materials and geometry. The calorimeter is a box made of a given number of layers. A layer consists of an absorber plate and of a detection gap. The layer is replicated.

Four parameters define the geometry of the calorimeter :

In ConstructSDandField() sensitive detectors of B4cCalorimeterSD type are created and associated with the Absorber and Gap volumes. In addition a transverse uniform magnetic field is defined via G4GlobalMagFieldMessenger class.

Definition at line 56 of file B4cDetectorConstruction.hh.

Constructor & Destructor Documentation

B4cDetectorConstruction::B4cDetectorConstruction ( )

Definition at line 58 of file B4cDetectorConstruction.cc.

60  fCheckOverlaps(true),
61  fNofLayers(-1)
62 {
63 }
B4cDetectorConstruction::~B4cDetectorConstruction ( )
virtual

Definition at line 67 of file B4cDetectorConstruction.cc.

68 {
69 }

Member Function Documentation

G4VPhysicalVolume * B4cDetectorConstruction::Construct ( void  )
virtual

Implements G4VUserDetectorConstruction.

Definition at line 73 of file B4cDetectorConstruction.cc.

74 {
75  // Define materials
76  DefineMaterials();
77 
78  // Define volumes
79  return DefineVolumes();
80 }
void B4cDetectorConstruction::ConstructSDandField ( )
virtual

Reimplemented from G4VUserDetectorConstruction.

Definition at line 273 of file B4cDetectorConstruction.cc.

References G4AutoDelete::Register(), G4VUserDetectorConstruction::SetSensitiveDetector(), and G4GlobalMagFieldMessenger::SetVerboseLevel().

274 {
275  // G4SDManager::GetSDMpointer()->SetVerboseLevel(1);
276 
277  //
278  // Sensitive detectors
279  //
280  B4cCalorimeterSD* absoSD
281  = new B4cCalorimeterSD("AbsorberSD", "AbsorberHitsCollection", fNofLayers);
282  SetSensitiveDetector("AbsoLV",absoSD);
283 
284  B4cCalorimeterSD* gapSD
285  = new B4cCalorimeterSD("GapSD", "GapHitsCollection", fNofLayers);
286  SetSensitiveDetector("GapLV",gapSD);
287 
288  //
289  // Magnetic field
290  //
291  // Create global magnetic field messenger.
292  // Uniform magnetic field is then created automatically if
293  // the field value is not zero.
294  G4ThreeVector fieldValue = G4ThreeVector();
295  fMagFieldMessenger = new G4GlobalMagFieldMessenger(fieldValue);
296  fMagFieldMessenger->SetVerboseLevel(1);
297 
298  // Register the field messenger for deleting
299  G4AutoDelete::Register(fMagFieldMessenger);
300 }
void SetVerboseLevel(G4int verboseLevel)
CLHEP::Hep3Vector G4ThreeVector
void Register(T *inst)
Definition: G4AutoDelete.hh:65
void SetSensitiveDetector(const G4String &logVolName, G4VSensitiveDetector *aSD, G4bool multi=false)

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