Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-08-06 09:24:27

0001 // -*- C++ -*-
0002 //
0003 // ProcessHandler.icc is a part of Herwig - A multi-purpose Monte Carlo event generator
0004 // Copyright (C) 2002-2019 The Herwig Collaboration
0005 //
0006 // Herwig is licenced under version 3 of the GPL, see COPYING for details.
0007 // Please respect the MCnet academic guidelines, see GUIDELINES for details.
0008 //
0009 //
0010 // This is the implementation of the inlined member functions of
0011 // the ProcessHandler class.
0012 //
0013 namespace Herwig {
0014 
0015 inline tEHPtr ProcessHandler::eventHandler() const {
0016   return theHandler;
0017 }
0018 
0019 inline tCutsPtr ProcessHandler::cuts() const {
0020   return theCuts;
0021 }
0022 
0023 inline tSubHdlPtr ProcessHandler::subProcess() {
0024   return theSubProcess;
0025 }
0026 
0027 inline long ProcessHandler::maxLoop() const {
0028   return eventHandler()->maxLoop();
0029 }
0030 
0031 inline tSamplerPtr ProcessHandler::sampler() {
0032   return theSampler;
0033 }
0034 
0035 inline tcSamplerPtr ProcessHandler::sampler() const {
0036   return theSampler;
0037 }
0038 
0039 inline const cPDPair & ProcessHandler::incoming() const {
0040   return eventHandler()->incoming();
0041 }
0042 
0043 inline const LuminosityFunction & ProcessHandler::lumiFn() const {
0044   // Did that in that strange way, because lumiFn is protected
0045   return *eventHandler()->lumiFnPtr();
0046 }
0047 
0048 inline int ProcessHandler::lumiDim() const {
0049   return lumiFn().nDim(incoming());
0050 }
0051 
0052 inline int ProcessHandler::maxDim(int bin) const {
0053   return theMaxDims[bin];
0054 }
0055 
0056 inline int ProcessHandler::nDim(int bin) const {
0057   return lumiDim() + maxDim(bin);
0058 }
0059 
0060 inline int ProcessHandler::statLevel() const {
0061   return eventHandler()->statLevel();
0062 }
0063 
0064 inline const ProcessHandler::XVector &
0065 ProcessHandler::xCombs() const {
0066   return theXCombs;
0067 }
0068 
0069 inline ProcessHandler::XVector & ProcessHandler::xCombs() {
0070   return theXCombs;
0071 }
0072 
0073 inline const ProcessHandler::XSVector &
0074 ProcessHandler::xSecs() const {
0075   return theXSecs;
0076 }
0077 
0078 inline ProcessHandler::XSVector & ProcessHandler::xSecs() {
0079   return theXSecs;
0080 }
0081 
0082 inline int ProcessHandler::binStrategy() const {
0083   return theBinStrategy;
0084 }
0085 
0086 inline tStdXCombPtr ProcessHandler::generate() {
0087   double wgt = sampler()->generate();
0088   return select(sampler()->lastBin(), wgt);
0089 }
0090 
0091 inline IBPtr ProcessHandler::clone() const {
0092   return new_ptr(*this);
0093 }
0094 
0095 inline IBPtr ProcessHandler::fullclone() const {
0096   return new_ptr(*this);
0097 }
0098 
0099 }