cepgen
is hosted by
Hepforge
,
IPPP Durham
CepGen
1.2.5
Central exclusive processes event generator
Loading...
Searching...
No Matches
PolarisationState.h
Go to the documentation of this file.
1
/*
2
* CepGen: a central exclusive processes event generator
3
* Copyright (C) 2023 Laurent Forthomme
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
7
* the Free Software Foundation, either version 3 of the License, or
8
* any later version.
9
*
10
* This program is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
14
*
15
* You should have received a copy of the GNU General Public License
16
* along with this program. If not, see <http://www.gnu.org/licenses/>.
17
*/
18
19
#ifndef CepGen_Physics_PolarisationState_h
20
#define CepGen_Physics_PolarisationState_h
21
22
#include "
CepGen/Core/SteeredObject.h
"
23
24
namespace
cepgen
{
25
class
PolarisationState
:
public
SteeredObject
<PolarisationState> {
26
public
:
27
explicit
PolarisationState
(
const
ParametersList
&);
28
29
static
ParametersDescription
description
();
30
31
enum class
Mode
{
invalid
= -1,
full
= 0,
LL
= 1,
LT
= 2,
TL
= 3,
TT
= 4 };
32
friend
std::ostream&
operator<<
(std::ostream&,
const
Mode
&);
33
typedef
std::vector<int>
Polarisation
;
34
typedef
std::pair<Polarisation, Polarisation>
Polarisations
;
35
36
const
Mode
&
mode
()
const
{
return
mode_; }
37
const
Polarisations
&
polarisations
()
const
{
return
pol_; }
38
39
private
:
40
static
Polarisations
computePolarisations(
const
Mode
&);
41
42
const
Mode
mode_;
43
const
Polarisations
pol_;
44
};
45
}
// namespace cepgen
46
47
#endif
SteeredObject.h
cepgen::ParametersDescription
A description object for parameters collection.
Definition
ParametersDescription.h:26
cepgen::ParametersList
Definition
ParametersList.h:52
cepgen::PolarisationState
Definition
PolarisationState.h:25
cepgen::PolarisationState::Polarisation
std::vector< int > Polarisation
Definition
PolarisationState.h:33
cepgen::PolarisationState::polarisations
const Polarisations & polarisations() const
Definition
PolarisationState.h:37
cepgen::PolarisationState::Mode
Mode
Definition
PolarisationState.h:31
cepgen::PolarisationState::Mode::LL
@ LL
cepgen::PolarisationState::Mode::TL
@ TL
cepgen::PolarisationState::Mode::LT
@ LT
cepgen::PolarisationState::Mode::TT
@ TT
cepgen::PolarisationState::Mode::full
@ full
cepgen::PolarisationState::Mode::invalid
@ invalid
cepgen::PolarisationState::Polarisations
std::pair< Polarisation, Polarisation > Polarisations
Definition
PolarisationState.h:34
cepgen::PolarisationState::mode
const Mode & mode() const
Definition
PolarisationState.h:36
cepgen::PolarisationState::operator<<
friend std::ostream & operator<<(std::ostream &, const Mode &)
Definition
PolarisationState.cpp:55
cepgen::PolarisationState::description
static ParametersDescription description()
Definition
PolarisationState.cpp:47
cepgen::SteeredObject
Base user-steerable object.
Definition
SteeredObject.h:41
cepgen
Common namespace for this Monte Carlo generator.
Definition
CommandLineHandler.cpp:36
CepGen
Physics
PolarisationState.h
Generated on Mon Jul 29 2024 for CepGen by
1.9.7