ATLAS Offline Software
Loading...
Searching...
No Matches
TrackRecordGenerator.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
14
15#ifndef TRACKRECORDGENERATOR_H
16#define TRACKRECORDGENERATOR_H
17
19
20// Members
21#include "CLHEP/Vector/LorentzVector.h"
23
24#include <vector>
25#include <string>
26
28 public:
29 TrackRecordGenerator(const std::string& name, ISvcLocator* pSvcLocator);
30 virtual ~TrackRecordGenerator();
31 virtual StatusCode callGenerator();
32 virtual StatusCode fillEvt(HepMC::GenEvent* evt);
33
34 private:
35
36 // Event record holders
38 std::vector<int> m_pdgCode;
39 std::vector<CLHEP::HepLorentzVector> m_fourPos;
40 std::vector<CLHEP::HepLorentzVector> m_fourMom;
41 CLHEP::Hep3Vector m_center;
42 std::vector<HepMC::Polarization> m_polarization;
43
44 // Options for track records
45 double m_smearTR;
46 double m_smearTRp;
47 std::string m_recordName;
50 bool m_add_cL;
51};
52
53#endif
GenModule(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Definition GenModule.cxx:14
bool m_stopParticles
Stop particles before simulation.
double m_smearTR
Amount by which to smear TR position.
virtual StatusCode fillEvt(HepMC::GenEvent *evt)
For filling the HepMC event object.
float m_stopped_tplus
Bounds for random time.
std::vector< CLHEP::HepLorentzVector > m_fourMom
std::vector< HepMC::Polarization > m_polarization
std::vector< CLHEP::HepLorentzVector > m_fourPos
std::string m_recordName
TrackRecord collection name.
std::vector< int > m_pdgCode
TrackRecordGenerator(const std::string &name, ISvcLocator *pSvcLocator)
double m_smearTRp
Amount by which to smear TR momentum.
virtual StatusCode callGenerator()
For calling the generator on each iteration of the event loop.
CLHEP::Hep3Vector m_center
bool m_add_cL
For stopped particles, add c*L to the time.