ThePEG
1.8.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
Cuts
MultiCutBase.h
1
// -*- C++ -*-
2
//
3
// MultiCutBase.h is a part of ThePEG - Toolkit for HEP Event Generation
4
// Copyright (C) 1999-2011 Leif Lonnblad
5
//
6
// ThePEG is licenced under version 2 of the GPL, see COPYING for details.
7
// Please respect the MCnet academic guidelines, see GUIDELINES for details.
8
//
9
#ifndef THEPEG_MultiCutBase_H
10
#define THEPEG_MultiCutBase_H
11
//
12
// This is the declaration of the MultiCutBase class.
13
//
14
15
#include "ThePEG/Interface/Interfaced.h"
16
#include "MultiCutBase.fh"
17
#include "Cuts.fh"
18
19
namespace
ThePEG {
20
34
class
MultiCutBase
:
public
Interfaced
{
35
36
public
:
37
45
virtual
Energy2
minS
(
const
tcPDVector
& pv)
const
= 0;
46
52
virtual
Energy2
maxS
(
const
tcPDVector
& pv)
const
= 0;
53
58
virtual
bool
passCuts
(
tcCutsPtr
parent,
const
tcPDVector
& ptype,
59
const
vector<LorentzMomentum> & p)
const
;
60
64
bool
passCuts
(
tcCutsPtr
parent,
const
tcPVector
& p)
const
;
66
70
virtual
void
describe
()
const
;
71
72
public
:
73
80
static
void
Init
();
81
82
private
:
83
88
static
AbstractNoPIOClassDescription<MultiCutBase>
initMultiCutBase
;
89
94
MultiCutBase
&
operator=
(
const
MultiCutBase
&);
95
96
};
97
98
}
99
100
#include "ThePEG/Utilities/ClassTraits.h"
101
102
namespace
ThePEG {
103
108
template
<>
109
struct
BaseClassTrait<MultiCutBase,1> {
111
typedef
Interfaced
NthBase
;
112
};
113
116
template
<>
117
struct
ClassTraits<MultiCutBase>
118
:
public
ClassTraitsBase<MultiCutBase> {
120
static
string
className
() {
return
"ThePEG::MultiCutBase"
; }
121
};
122
125
}
126
127
#endif
/* THEPEG_MultiCutBase_H */
Generated on Mon Jul 2 2012 16:06:47 for ThePEG by
1.8.1.1