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
20#include <memory>
21
22// Members
23#include "CLHEP/Vector/LorentzVector.h"
25
26#include <vector>
27#include <string>
28
30 public:
31 TrackRecordGenerator(const std::string& name, ISvcLocator* pSvcLocator);
32 virtual ~TrackRecordGenerator();
33 virtual StatusCode callGenerator();
34 virtual StatusCode fillEvt(HepMC::GenEvent* evt);
35
36 private:
37
38 // Event record holders
40 std::vector<int> m_pdgCode;
41 std::vector<CLHEP::HepLorentzVector> m_fourPos;
42 std::vector<CLHEP::HepLorentzVector> m_fourMom;
43 CLHEP::Hep3Vector m_center;
44 std::vector<HepMC::Polarization> m_polarization;
45
46 // Options for track records
47 double m_smearTR;
48 double m_smearTRp;
49 std::string m_recordName;
52 bool m_add_cL;
53 std::shared_ptr<GenData> m_gendata{nullptr};
54};
55
56#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.
std::shared_ptr< GenData > m_gendata
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.
HepMC3::GenEvent GenEvent
Definition GenEvent.h:39