ATLAS Offline Software
Loading...
Searching...
No Matches
AddPhysicsDecayTool.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 G4ATLASTOOLS_ADDPHYSICSDECAYTOOL_H
6#define G4ATLASTOOLS_ADDPHYSICSDECAYTOOL_H
7
8// Include files
9#include <string>
10#include <vector>
11
15
23class AddPhysicsDecayTool : public extends<AthAlgTool, IPhysicsOptionTool> {
24 public:
26 AddPhysicsDecayTool( const std::string& type , const std::string& name,
27 const IInterface* parent );
28
29 virtual ~AddPhysicsDecayTool();
30
32 virtual StatusCode initialize() override;
33
34 virtual UPPhysicsConstructor GetPhysicsOption() override;
35
37 public:
38 PhysicsConstructor(const std::string& name, MSG::Level level,
39 const std::string& particle_name, double br,
40 const std::vector<std::string>& daughters_vec)
41 : IPhysicsContructor(name, level),
42 m_ParticleName(particle_name),
43 m_BR(br),
44 m_Daughters_vec(daughters_vec) {}
45
46 virtual void ConstructParticle() override;
47 virtual void ConstructProcess() override;
48
49 private:
50 std::string m_ParticleName;
51 double m_BR;
52 std::vector<std::string> m_Daughters_vec;
53 };
54
55protected:
56 Gaudi::Property<std::string> m_ParticleName{this, "ParticleName", "NoFile", "Particle name"};
57 Gaudi::Property<double> m_BR{this, "BR", 0, "Branching Ratio"};
58 Gaudi::Property<std::string> m_Daughters{this, "Daughters", "NoFile", "Daughters"};
59 std::vector<std::string> m_Daughters_vec;
60};
61
62#endif //G4ATLASTOOLS_ADDPHYSICSDECAYTOOL_H
PhysicsConstructor(const std::string &name, MSG::Level level, const std::string &particle_name, double br, const std::vector< std::string > &daughters_vec)
Gaudi::Property< std::string > m_Daughters
virtual StatusCode initialize() override
Initialize method.
Gaudi::Property< std::string > m_ParticleName
virtual UPPhysicsConstructor GetPhysicsOption() override
virtual ~AddPhysicsDecayTool()
Destructor.
AddPhysicsDecayTool(const std::string &type, const std::string &name, const IInterface *parent)
Standard constructor.
std::vector< std::string > m_Daughters_vec
Gaudi::Property< double > m_BR
IPhysicsContructor(const std::string &name, MSG::Level level)
Standard constructor.