ATLAS Offline Software
SwitchingFieldManager.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef SwitchingFieldManager_H
6 #define SwitchingFieldManager_H
7 
17 #include "G4FieldManager.hh"
18 
19 class SwitchingFieldManager : public G4FieldManager
20 {
21  public:
22  // using G4FieldManager::G4FieldManager;
23 
24  // Switch the field off when inside Calo
25  SwitchingFieldManager(G4Field *field);
26 
28 
29  // Necessary virtual methods
30  void ConfigureForTrack( const G4Track * ) override;
31  G4FieldManager* Clone() const override;
32 
33  private:
34  G4Field* m_savedField = nullptr;
35  // Calo barrel region 1500mm < r < 3700mm and |z|<1000mm (both EMB and TileCal)
36  G4double m_radiusXYmax = 1900;
37  G4double m_radiusXYmin = 1500;
38  G4double m_Zmax = 2000;
39  G4double m_offset = 0.0; // 'null field area' m_offset mm away of the boudaries given by m_radiusXYmin, m_radiusXYmax and m_Zmax
40 };
41 #endif
SwitchingFieldManager::m_radiusXYmax
G4double m_radiusXYmax
Definition: SwitchingFieldManager.h:36
SwitchingFieldManager
G4FieldManager that sets tight stepping for muons; disables magnetic field for other particles.
Definition: SwitchingFieldManager.h:20
SwitchingFieldManager::Clone
G4FieldManager * Clone() const override
Definition: SwitchingFieldManager.cxx:54
SwitchingFieldManager::m_radiusXYmin
G4double m_radiusXYmin
Definition: SwitchingFieldManager.h:37
ReadOfcFromCool.field
field
Definition: ReadOfcFromCool.py:48
SwitchingFieldManager::m_Zmax
G4double m_Zmax
Definition: SwitchingFieldManager.h:38
SwitchingFieldManager::~SwitchingFieldManager
~SwitchingFieldManager()
Definition: SwitchingFieldManager.cxx:23
SwitchingFieldManager::m_savedField
G4Field * m_savedField
Definition: SwitchingFieldManager.h:34
SwitchingFieldManager::m_offset
G4double m_offset
Definition: SwitchingFieldManager.h:39
SwitchingFieldManager::ConfigureForTrack
void ConfigureForTrack(const G4Track *) override
Definition: SwitchingFieldManager.cxx:28
SwitchingFieldManager::SwitchingFieldManager
SwitchingFieldManager(G4Field *field)
Definition: SwitchingFieldManager.cxx:18