Geant4 VMC Version 6.7
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
TG4Field.cxx
Go to the documentation of this file.
1//------------------------------------------------
2// The Geant4 Virtual Monte Carlo package
3// Copyright (C) 2007 - 2014 Ivana Hrivnacova
4// All rights reserved.
5//
6// For the licensing terms see geant4_vmc/LICENSE.
7// Contact: root-vmc@cern.ch
8//-------------------------------------------------
9
14
15#include "TG4Field.h"
16#include "TG4MagneticField.h"
17#include "TG4Globals.h"
18
19#include <TVirtualMagField.h>
20
21#include <G4FieldBuilder.hh>
22
23//_____________________________________________________________________________
24TG4Field::TG4Field(const G4FieldParameters& parameters,
25 TVirtualMagField* magField, G4LogicalVolume* lv)
26 : fVirtualMagField(magField),
28{
30
31 // Consistency check
32 if (magField == nullptr) {
34 "TG4Field", "TG4Field:", "No TVirtualMagField is defined.");
35 }
36
37 // Create field
38 fG4Field = new TG4MagneticField(magField);
39 // field will be deleted by Geant4 kernel
40
41 // Set field to G4 field builder
42 auto fieldBuilder = G4FieldBuilder::Instance();
43 if (lv == nullptr) {
44 fieldBuilder->SetGlobalField(fG4Field);
45 }
46 else {
47 fieldBuilder->SetLocalField(fG4Field, lv);
48 }
49}
50
51//_____________________________________________________________________________
Definition of the TG4Field class.
Definition of the TG4Globals class and basic container types.
Definition of the TG4MagneticField class.
G4LogicalVolume * fLogicalVolume
The associated volume (if local field)
Definition TG4Field.h:52
TVirtualMagField * fVirtualMagField
The associated TGeo magnetic field.
Definition TG4Field.h:50
TG4Field(const G4FieldParameters &parameters, TVirtualMagField *magField, G4LogicalVolume *lv=nullptr)
Definition TG4Field.cxx:24
G4Field * fG4Field
Geant4 field.
Definition TG4Field.h:48
static void Exception(const TString &className, const TString &methodName, const TString &text)
The magnetic field defined via TVirtualMagField.