#include <CMSMonopolePhysics.h>
Definition at line 18 of file CMSMonopolePhysics.h.
Definition at line 18 of file CMSMonopolePhysics.cc.
References deltaRay, elCharges, ecalTB2006H4_GenSimDigiReco_cfg::G4cout, edm::ParameterSet::getUntrackedParameter(), GeV, cuy::ii, magCharge, ResonanceBuilder::mass, masses, monopoles, multiSc, names, AlCaHLTBitMon_ParallelJobs::p, HiggsValidation_cfi::particleName, pdgEncodings, AlCaHLTBitMon_QueryRunRegistry::string, and transport.
29 if (pdt && mass > 0.0) {
31 for (HepPDT::ParticleDataTable::const_iterator p=pdt->begin();
32 p != pdt->end(); ++
p,++
ii) {
35 if (strcmp(particleName.c_str(),
"Monopole") == 0) {
36 names.push_back(particle.name());
38 elCharges.push_back((
int)(particle.charge()));
41 if (
verbose > 0)
G4cout <<
"CMSMonopolePhysics: Monopole[" << ii
42 <<
"] " << particleName <<
" Mass " 43 << particle.mass() <<
" GeV, Magnetic Charge " 44 << magCharge <<
", Electric Charge " 45 << particle.charge() << G4endl;
46 }
else if(strcmp(particleName.c_str(),
"AntiMono") == 0) {
47 names.push_back(particle.name());
48 masses.push_back(mass*CLHEP::GeV);
49 elCharges.push_back((
int)(particle.charge()));
52 if (
verbose > 0)
G4cout <<
"CMSMonopolePhysics: Monopole[" << ii
53 <<
"] " << particleName <<
" Mass " 54 << particle.mass() <<
" GeV, Magnetic Charge " 55 << magCharge <<
", Electric Charge " 56 << particle.charge() << G4endl;
61 <<
" monopole candidates and delta Ray option " 62 << deltaRay << G4endl;
T getUntrackedParameter(std::string const &, T const &) const
std::vector< int > pdgEncodings
std::vector< Monopole * > monopoles
std::vector< int > elCharges
HepPDT::ParticleData ParticleData
std::vector< std::string > names
sim::ChordFinderSetter * chordFinderSetter
std::vector< double > masses
CMSMonopolePhysics::~CMSMonopolePhysics |
( |
| ) |
|
|
override |
void CMSMonopolePhysics::ConstructParticle |
( |
| ) |
|
|
override |
Definition at line 67 of file CMSMonopolePhysics.cc.
References elCharges, ecalTB2006H4_GenSimDigiReco_cfg::G4cout, GeV, cuy::ii, magCharge, masses, CaloTowersParam_cfi::mc, monopoles, names, and pdgEncodings.
78 <<
" GeV, magnetic charge " << mc
std::vector< int > pdgEncodings
std::vector< Monopole * > monopoles
std::vector< int > elCharges
std::vector< std::string > names
std::vector< double > masses
void CMSMonopolePhysics::ConstructProcess |
( |
| ) |
|
|
override |
Definition at line 86 of file CMSMonopolePhysics.cc.
References chordFinderSetter, edm::errors::Configuration, Exception, ecalTB2006H4_GenSimDigiReco_cfg::G4cout, GeV, cuy::ii, Monopole::MagneticCharge(), ResonanceBuilder::mass, monopoles, multiSc, and connectstrParser::o.
89 G4cout <<
"### CMSMonopolePhysics ConstructProcess()" << G4endl;
91 G4PhysicsListHelper* ph = G4PhysicsListHelper::GetPhysicsListHelper();
96 G4ProcessManager *pmanager = mpl->GetProcessManager();
99 o <<
"Monopole without a Process Manager";
105 G4double
mass = mpl->GetPDGMass();
107 G4cout <<
"### CMSMonopolePhysics instantiates for " 108 << mpl->GetParticleName()
109 <<
" at " << mpl <<
" Mass " << mass/
CLHEP::GeV 110 <<
" GeV Mag " << magn <<
" Process manager " << pmanager
116 pmanager->RemoveProcess(idxt);
120 if (mpl->GetPDGCharge() != 0.0) {
122 G4hMultipleScattering* hmsc =
new G4hMultipleScattering();
123 ph->RegisterProcess(hmsc, mpl);
125 G4hIonisation* hioni =
new G4hIonisation();
126 ph->RegisterProcess(hioni, mpl);
129 G4mplIonisation* mplioni =
new G4mplIonisation(magn);
130 ph->RegisterProcess(mplioni, mpl);
132 pmanager->AddDiscreteProcess(
new G4StepLimiter());
133 if (
verbose > 1) { pmanager->DumpInfo(); }
std::vector< Monopole * > monopoles
sim::ChordFinderSetter * chordFinderSetter
G4double MagneticCharge() const
G4bool CMSMonopolePhysics::deltaRay |
|
private |
std::vector<int> CMSMonopolePhysics::elCharges |
|
private |
G4int CMSMonopolePhysics::magCharge |
|
private |
std::vector<double> CMSMonopolePhysics::masses |
|
private |
std::vector<Monopole*> CMSMonopolePhysics::monopoles |
|
private |
G4bool CMSMonopolePhysics::multiSc |
|
private |
std::vector<std::string> CMSMonopolePhysics::names |
|
private |
std::vector<int> CMSMonopolePhysics::pdgEncodings |
|
private |
G4bool CMSMonopolePhysics::transport |
|
private |
G4int CMSMonopolePhysics::verbose |
|
private |