ATLAS Offline Software
G4MagFieldSvcBase.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef G4ATLASSERVICES_G4MagFieldSvcBase_H
6 #define G4ATLASSERVICES_G4MagFieldSvcBase_H
7 
8 // Geant4 includes
9 #include "G4SystemOfUnits.hh"
10 
11 // Framework includes
13 
14 // G4Atlas includes
16 
17 // Forward declarations
18 class G4MagneticField;
19 
20 
28 class G4MagFieldSvcBase : public extends<AthService, IG4FieldSvc> {
29 
30  public:
32  G4MagFieldSvcBase( const std::string& name, ISvcLocator* pSvcLocator );
33 
35  virtual ~G4MagFieldSvcBase() {};
36 
39  G4MagneticField* getField() override final;
40 
41  protected:
42 
44  virtual G4MagneticField* makeField() = 0;
45 };
46 
47 #endif // G4ATLASSERVICES_G4AtlasFieldTool_H
G4MagFieldSvcBase::makeField
virtual G4MagneticField * makeField()=0
This method must be overridden by concrete tools to create a new field.
G4MagFieldSvcBase::~G4MagFieldSvcBase
virtual ~G4MagFieldSvcBase()
Empty destructor.
Definition: G4MagFieldSvcBase.h:35
G4MagFieldSvcBase
Definition: G4MagFieldSvcBase.h:28
G4MagFieldSvcBase::getField
G4MagneticField * getField() override final
Retrieve a G4 magnetic field object.
Definition: G4MagFieldSvcBase.cxx:31
IG4FieldSvc.h
columnar::final
CM final
Definition: ColumnAccessor.h:106
protected
#define protected
Definition: GenEventCnv_p1.h:26
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
G4MagFieldSvcBase::G4MagFieldSvcBase
G4MagFieldSvcBase(const std::string &name, ISvcLocator *pSvcLocator)
Standard constructor.
Definition: G4MagFieldSvcBase.cxx:22
AthService.h