ATLAS Offline Software
Public Member Functions | List of all members
MonopolePhysicsTool Class Reference

#include "Monopole/MonopolePhysicsTool.h"

Inheritance diagram for MonopolePhysicsTool:
Collaboration diagram for MonopolePhysicsTool:

Public Member Functions

 MonopolePhysicsTool (const std::string &type, const std::string &name, const IInterface *parent)
 Standard constructor. More...
 
virtual ~MonopolePhysicsTool ()
 Destructor. More...
 
virtual StatusCode initialize () override final
 Initialize method. More...
 
virtual void ConstructParticle () override final
 
virtual void ConstructProcess () override final
 
virtual MonopolePhysicsToolGetPhysicsOption () override final
 Implements. More...
 

Detailed Description

Author
Edoardo Farina
Date
14-05-2015

Definition at line 20 of file MonopolePhysicsTool.h.

Constructor & Destructor Documentation

◆ MonopolePhysicsTool()

MonopolePhysicsTool::MonopolePhysicsTool ( const std::string &  type,
const std::string &  name,
const IInterface *  parent 
)

Standard constructor.

Definition at line 37 of file MonopolePhysicsTool.cxx.

39  : base_class ( type, nam , parent )
40 {
41  m_physicsOptionType = G4AtlasPhysicsOption::Type::BSMPhysics;
42 }

◆ ~MonopolePhysicsTool()

MonopolePhysicsTool::~MonopolePhysicsTool ( )
virtual

Destructor.

Definition at line 48 of file MonopolePhysicsTool.cxx.

49 {
50 }

Member Function Documentation

◆ ConstructParticle()

void MonopolePhysicsTool::ConstructParticle ( )
finaloverridevirtual

Definition at line 68 of file MonopolePhysicsTool.cxx.

69 {
70  ATH_MSG_DEBUG(" ConstructParticle for the Monopole being run");
72 
73 }

◆ ConstructProcess()

void MonopolePhysicsTool::ConstructProcess ( )
finaloverridevirtual

Definition at line 74 of file MonopolePhysicsTool.cxx.

75 {
76 
77  PARTICLEITERATOR->reset();
78 
79  while((*PARTICLEITERATOR)())
80  {
81 
82  CustomMonopole* particle = dynamic_cast<CustomMonopole*>(PARTICLEITERATOR->value());
84  {
85  ATH_MSG_DEBUG( particle->GetParticleName() << " is Custom" );
86 
87  G4ProcessManager* pmanager = particle->GetProcessManager();
88 
89  G4double magnCharge = particle->MagneticCharge();
90 
91 
92  pmanager->RemoveProcess(0);
93  pmanager->AddProcess(new G4mplAtlasTransportation(particle), -1, 0, 0);
94 
95  if (magnCharge != 0.0){
96  pmanager->AddProcess(new G4mplAtlasIonisation(magnCharge, G4String("mplAtlasIonisation")), -1, 1, 1);
97 
98  }
99 
100 
101  if(particle->GetPDGCharge() != 0.0) {
102  pmanager->AddProcess(new G4hIonisation(), -1, 2, 2);
103  }
104  pmanager->DumpInfo();
105 
106 
107  }
108  }
109 
110  ATH_MSG_DEBUG("ConstructProcess for Monopole finished");
111 }

◆ GetPhysicsOption()

MonopolePhysicsTool * MonopolePhysicsTool::GetPhysicsOption ( )
finaloverridevirtual

Implements.

Definition at line 62 of file MonopolePhysicsTool.cxx.

63 {
64  return this;
65 }

◆ initialize()

StatusCode MonopolePhysicsTool::initialize ( )
finaloverridevirtual

Initialize method.

Definition at line 55 of file MonopolePhysicsTool.cxx.

56 {
57  ATH_MSG_DEBUG("MonopolePhysicsTool initialize( )");
58  this->SetPhysicsName(name());
59  return StatusCode::SUCCESS;
60 }

The documentation for this class was generated from the following files:
Trk::ParticleSwitcher::particle
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
Definition: ParticleHypothesis.h:76
CustomMonopoleFactory::isCustomMonopole
bool isCustomMonopole(CustomMonopole *particle) const
Definition: CustomMonopoleFactory.cxx:28
CustomMonopoleFactory::instance
static const CustomMonopoleFactory & instance()
Definition: CustomMonopoleFactory.cxx:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
G4mplAtlasTransportation
Definition: G4mplAtlasTransportation.h:72
PARTICLEITERATOR
#define PARTICLEITERATOR
Definition: MonopolePhysicsTool.cxx:30
test_pyathena.parent
parent
Definition: test_pyathena.py:15
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
G4AtlasPhysicsOption::BSMPhysics
@ BSMPhysics
Definition: IPhysicsOptionTool.h:22
CustomMonopole
Definition: CustomMonopole.h:34