Page Menu
Home
HEPForge
Search
Configure Global Search
Log In
Files
F7879231
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
4 KB
Subscribers
None
View Options
diff --git a/Shower/RealEmissionProcess.h b/Shower/RealEmissionProcess.h
--- a/Shower/RealEmissionProcess.h
+++ b/Shower/RealEmissionProcess.h
@@ -1,214 +1,245 @@
// -*- C++ -*-
//
// RealEmissionProcess.h is a part of Herwig - A multi-purpose Monte Carlo event generator
// Copyright (C) 2002-2011 The Herwig Collaboration
//
// Herwig is licenced under version 2 of the GPL, see COPYING for details.
// Please respect the MCnet academic guidelines, see GUIDELINES for details.
//
#ifndef HERWIG_RealEmissionProcess_H
#define HERWIG_RealEmissionProcess_H
#include "ThePEG/Config/ThePEG.h"
#include "ThePEG/EventRecord/Particle.h"
#include "ThePEG/EventRecord/SubProcess.h"
#include "ThePEG/Handlers/XComb.h"
#include "ThePEG/Config/Pointers.h"
#include "RealEmissionProcess.fh"
#include "Herwig/Shower/QTilde/ShowerInteraction.h"
namespace Herwig {
using namespace ThePEG;
/**
* Simple struct for hard processes and decays
*/
class RealEmissionProcess : public Base {
+ friend ostream & operator<<(ostream & os, const RealEmissionProcess & proc);
+
public:
/**
* The incoming particles
*/
ParticleVector & incoming() {
return incoming_;
}
/**
* The outgoing particles
*/
ParticleVector & outgoing() {
return outgoing_;
}
public:
/**
* The incoming particles
*/
ParticleVector & bornIncoming() {
return bornIncoming_;
}
/**
* The outgoing particles
*/
ParticleVector & bornOutgoing() {
return bornOutgoing_;
}
/**
* The hadrons
*/
ParticleVector & hadrons() {
return hadrons_;
}
public:
/**
* The emitter
*/
unsigned int emitter () const {return emitter_;}
/**
* The spectator
*/
unsigned int spectator() const {return spectator_;}
/**
* The emitted
*/
unsigned int emitted () const {return emitted_;}
/**
* The emitter
*/
void emitter (unsigned int in) {emitter_=in;}
/**
* The spectator
*/
void spectator(unsigned int in) {spectator_=in;}
/**
* The emitted
*/
void emitted (unsigned int in) {emitted_=in;}
public:
/**
* Lorentz Rotation to final-state for II dipoles
*/
LorentzRotation transformation() const { return trans_;}
/**
* Lorentz Rotation to final-state for II dipoles
*/
void transformation(LorentzRotation in) {trans_=in;}
public:
/**
* Get the x values
*/
pair<double,double> x() const {return x_;}
/**
* Set the x values
*/
void x(pair<double,double> in) {x_=in;}
public:
/**
* Type of interaction
*/
ShowerInteraction::Type interaction() {return interaction_;}
/**
* Type of interaction
*/
void interaction(ShowerInteraction::Type in) {interaction_ = in;}
/**
* Emission scales
*/
map<ShowerInteraction::Type,Energy> & pT() {return pT_;}
private:
/**
* The emitter
*/
unsigned int emitter_;
/**
* The spectator
*/
unsigned int spectator_;
/**
* The emitter
*/
unsigned int emitted_;
private:
/**
* The incoming particles
*/
ParticleVector incoming_;
/*
* The outgoing particles
*/
ParticleVector outgoing_;
private:
/**
* The hadrons
*/
ParticleVector hadrons_;
private:
/**
* Incoming for the Born process
*/
ParticleVector bornIncoming_;
/**
* Outgoing for the Born process
*/
ParticleVector bornOutgoing_;
private:
/**
* Lorentz transformation for spectators in II
*/
LorentzRotation trans_;
/**
* x values
*/
pair<double,double> x_;
private:
/**
* Type of interaction
*/
ShowerInteraction::Type interaction_;
/**
* Emission scales
*/
map<ShowerInteraction::Type,Energy> pT_;
};
+/**
+ * Output to a stream
+ */
+inline ostream & operator<<(ostream & os, const RealEmissionProcess & proc) {
+ os << "REAL EMISSION "
+ << proc.emitter_ << " "
+ << proc.spectator_ << " "
+ << proc.emitted_ << "\n";
+ os << "BORN\n";
+ for(unsigned int ix=0;ix<proc.bornIncoming_.size();++ix)
+ os << proc.bornIncoming_[ix]->colourLine() << " "
+ << proc.bornIncoming_[ix]->antiColourLine() << " "
+ << *proc.bornIncoming_[ix] << "\n";
+ for(unsigned int ix=0;ix<proc.bornOutgoing_.size();++ix)
+ os << proc.bornOutgoing_[ix]->colourLine() << " "
+ << proc.bornOutgoing_[ix]->antiColourLine() << " "
+ << *proc.bornOutgoing_[ix] << "\n";
+ os << "REAL\n";
+ for(unsigned int ix=0;ix<proc.incoming_.size();++ix)
+ os << proc.incoming_[ix]->colourLine() << " "
+ << proc.incoming_[ix]->antiColourLine() << " "
+ << *proc.incoming_[ix] << "\n";
+ for(unsigned int ix=0;ix<proc.outgoing_.size();++ix)
+ os << proc.outgoing_[ix]->colourLine() << " "
+ << proc.outgoing_[ix]->antiColourLine() << " "
+ << *proc.outgoing_[ix] << "\n";
+ return os;
+}
+
}
#endif
File Metadata
Details
Attached
Mime Type
text/x-diff
Expires
Tue, Nov 19, 7:45 PM (1 d, 7 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3795382
Default Alt Text
(4 KB)
Attached To
R563 testingHerwigHG
Event Timeline
Log In to Comment