CGEM BOSS
6.6.5.i
BESIII Offline Software System
Loading...
Searching...
No Matches
ManualGenerator.h
Go to the documentation of this file.
1
// *****************************************************************************
2
//
3
// ManualGenerator.h
4
//
5
// A package to read four-vectors from an input file and send them through
6
// the BES detector simulation.
7
//
8
// Notes:
9
//
10
// * To use, replace EvtGen in the job options file with:
11
//
12
// #include "$MANUALGENERATORROOT/share/ManualGenerator.txt"
13
// ManualGenerator.InputFile = "inputfile.txt";
14
//
15
// where "inputfile.txt" is a text file containing four-vectors in
16
// the following format for each event:
17
//
18
// [number of final state particles in this event]
19
// [PDG ID of particle 1] [P_x] [P_y] [P_z] [E]
20
// [PDG ID of particle 2] [P_x] [P_y] [P_z] [E]
21
// and so on.
22
//
23
// * This package deals only with final state particles. The production
24
// of the initial state particle (for example, the J/psi) must be handled
25
// by a prior package (for example, KKMC).
26
//
27
// * Events should be generated with zero net 3-momentum. Particles are
28
// then internally boosted to account for the crossing angle, beam energy
29
// spread, etc., as reflected by the four-momentum of the initial state
30
// particle.
31
//
32
// * Events should be generated at the origin. Particles are then offset
33
// according to the production vertex of the initial state particle.
34
//
35
// * pi0 and Ks decays are handled by GEANT.
36
// (Note that B(pi0 --> gamma gamma) is not 100%.)
37
//
38
//
39
// September 2011 R. Mitchell
40
//
41
// *****************************************************************************
42
43
44
#ifndef MANUALGENERATOR_H
45
#define MANUALGENERATOR_H
46
47
#include "CLHEP/Vector/LorentzVector.h"
48
49
#include "HepMC/GenEvent.h"
50
#include "HepMC/GenVertex.h"
51
#include "HepMC/GenParticle.h"
52
53
#include "GaudiKernel/Algorithm.h"
54
#include "GaudiKernel/ISvcLocator.h"
55
56
#include <vector>
57
#include <fstream>
58
59
using namespace
std
;
60
61
class
ManualGenerator
:
public
Algorithm {
62
63
public
:
64
65
ManualGenerator
(
const
string
& name, ISvcLocator* pSvcLocator);
66
67
StatusCode
initialize
();
68
StatusCode
execute
();
69
StatusCode
finalize
();
70
71
private
:
72
73
int
m_eventCounter;
74
string
m_inputFileName;
75
ifstream m_inputFile;
76
77
};
78
79
#endif
ManualGenerator
Definition
ManualGenerator.h:61
ManualGenerator::execute
StatusCode execute()
Definition
ManualGenerator.cxx:116
ManualGenerator::initialize
StatusCode initialize()
Definition
ManualGenerator.cxx:83
ManualGenerator::ManualGenerator
ManualGenerator(const string &name, ISvcLocator *pSvcLocator)
Definition
ManualGenerator.cxx:65
ManualGenerator::finalize
StatusCode finalize()
Definition
ManualGenerator.cxx:256
std
Definition
RootEventData_rootcint.cxx:16
6.6.5.i
Generator
ManualGenerator
ManualGenerator-00-00-01
ManualGenerator
ManualGenerator.h
Generated by
1.12.0