ATLAS Offline Software
ConstantFieldSvc.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef G4ATLASSERVICES_ConstantFieldSvc_H
6 #define G4ATLASSERVICES_ConstantFieldSvc_H
7 
8 // Base classes
9 #include "G4MagFieldSvcBase.h"
10 
11 // Geant4
12 #include "G4MagneticField.hh"
13 
14 // STL library
15 #include <string>
16 
19 class ConstantFieldSvc final : public G4MagFieldSvcBase
20 {
21  public:
22 
24  ConstantFieldSvc(const std::string& name, ISvcLocator* pSvcLocator);
25  ~ConstantFieldSvc() = default;
26 
28  StatusCode initialize() override final;
29 
30  protected:
31 
33  G4MagneticField* makeField() override final;
34 
35  private:
36 
39  Gaudi::Property<double> m_fieldX{this, "FieldX", 0., "Field X component"};
40  Gaudi::Property<double> m_fieldY{this, "FieldY", 0., "Field Y component"};
41  Gaudi::Property<double> m_fieldZ{this, "FieldZ", 0., "Field Z component"};
43 };
44 
45 #endif
G4MagFieldSvcBase.h
ConstantFieldSvc::ConstantFieldSvc
ConstantFieldSvc(const std::string &name, ISvcLocator *pSvcLocator)
Basic constructor and destructor.
Definition: ConstantFieldSvc.cxx:10
ConstantFieldSvc
Definition: ConstantFieldSvc.h:20
Property
Support class for PropertyMgr.
Definition: Property.h:23
protected
#define protected
Definition: DetDescrConditionsDict_dict_fixes.cxx:14
ConstantFieldSvc::makeField
G4MagneticField * makeField() override final
Create the field object.
Definition: ConstantFieldSvc.cxx:21
G4MagFieldSvcBase
Definition: G4MagFieldSvcBase.h:29
ConstantFieldSvc::~ConstantFieldSvc
~ConstantFieldSvc()=default
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ConstantFieldSvc::m_fieldY
Gaudi::Property< double > m_fieldY
Definition: ConstantFieldSvc.h:40
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
Gaudi
=============================================================================
Definition: CaloGPUClusterAndCellDataMonitorOptions.h:273
ConstantFieldSvc::m_fieldZ
Gaudi::Property< double > m_fieldZ
Definition: ConstantFieldSvc.h:41
ConstantFieldSvc::initialize
StatusCode initialize() override final
Athena method.
Definition: ConstantFieldSvc.cxx:15
ConstantFieldSvc::m_fieldX
Gaudi::Property< double > m_fieldX
Definition: ConstantFieldSvc.h:39