ATLAS Offline Software
Loading...
Searching...
No Matches
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
16
17#include "G4FieldManager.hh"
18
19class 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(G4Field *field)
G4FieldManager * Clone() const override
void ConfigureForTrack(const G4Track *) override