ATLAS Offline Software
Loading...
Searching...
No Matches
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
18class G4MagneticField;
19
20
28class 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
42
44 virtual G4MagneticField* makeField() = 0;
45};
46
47#endif // G4ATLASSERVICES_G4AtlasFieldTool_H
#define protected
virtual ~G4MagFieldSvcBase()
Empty destructor.
G4MagFieldSvcBase(const std::string &name, ISvcLocator *pSvcLocator)
Standard constructor.
G4MagneticField * getField() override final
Retrieve a G4 magnetic field object.
virtual G4MagneticField * makeField()=0
This method must be overridden by concrete tools to create a new field.