using option '-treename HLTesdTree' for EsdCollector, adding default parameter for...
[u/mrichter/AliRoot.git] / PYTHIA8 / pythia8130 / include / BeamShape.h
CommitLineData
5ad4eb21 1// BeamShape.h is a part of the PYTHIA event generator.
2// Copyright (C) 2008 Torbjorn Sjostrand.
3// PYTHIA is licenced under the GNU GPL version 2, see COPYING for details.
4// Please respect the MCnet Guidelines, see GUIDELINES for details.
5
6// Header for classes to set beam momentum and interaction vertex spread.
7
8#ifndef Pythia8_BeamShape_H
9#define Pythia8_BeamShape_H
10
11#include "Basics.h"
12#include "PythiaStdlib.h"
13#include "Settings.h"
14
15namespace Pythia8 {
16
17//**************************************************************************
18
19// Base class to set beam momentum and interaction spot spread.
20
21class BeamShape {
22
23public:
24
25 // Constructor.
26 BeamShape() {}
27
28 // Destructor.
29 virtual ~BeamShape() {}
30
31 // Initialize beam parameters.
32 virtual void init();
33
34 // Set the two beam momentum deviations and the beam vertex.
35 virtual void pick();
36
37 // Methods to read out the choice made with the above method.
38 Vec4 deltaPA() const {return Vec4( deltaPxA, deltaPyA, deltaPzA, 0);}
39 Vec4 deltaPB() const {return Vec4( deltaPxB, deltaPyB, deltaPzB, 0);}
40 Vec4 vertex() const {return Vec4( vertexX, vertexY, vertexZ, vertexT);}
41
42protected:
43
44 // Values to be set.
45 double deltaPxA, deltaPyA, deltaPzA, deltaPxB, deltaPyB, deltaPzB,
46 vertexX, vertexY, vertexZ, vertexT;
47
48 // Parameters of Gaussian parametrizations.
49 bool allowMomentumSpread, allowVertexSpread;
50 double sigmaPxA, sigmaPyA, sigmaPzA, maxDevA, sigmaPxB, sigmaPyB,
51 sigmaPzB, maxDevB, sigmaVertexX, sigmaVertexY, sigmaVertexZ,
52 maxDevVertex, sigmaTime, maxDevTime, offsetX, offsetY,
53 offsetZ, offsetT;
54
55};
56
57//**************************************************************************
58
59} // end namespace Pythia8
60
61#endif // Pythia8_BeamShape_H