ATLAS Offline Software
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 
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
37  int m_events;
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
TrackRecordGenerator::m_center
CLHEP::Hep3Vector m_center
Definition: TrackRecordGenerator.h:41
TrackRecordGenerator::~TrackRecordGenerator
virtual ~TrackRecordGenerator()
Definition: TrackRecordGenerator.cxx:42
TrackRecordGenerator::m_smearTR
double m_smearTR
Amount by which to smear TR position.
Definition: TrackRecordGenerator.h:45
TrackRecordGenerator::m_pdgCode
std::vector< int > m_pdgCode
Definition: TrackRecordGenerator.h:38
LArG4FSStartPointFilter.evt
evt
Definition: LArG4FSStartPointFilter.py:42
TrackRecordGenerator::m_recordName
std::string m_recordName
TrackRecord collection name.
Definition: TrackRecordGenerator.h:47
TrackRecordGenerator::fillEvt
virtual StatusCode fillEvt(HepMC::GenEvent *evt)
For filling the HepMC event object.
Definition: TrackRecordGenerator.cxx:178
TrackRecordGenerator::m_fourPos
std::vector< CLHEP::HepLorentzVector > m_fourPos
Definition: TrackRecordGenerator.h:39
TrackRecordGenerator::m_stopParticles
bool m_stopParticles
Stop particles before simulation.
Definition: TrackRecordGenerator.h:48
TrackRecordGenerator::m_polarization
std::vector< HepMC::Polarization > m_polarization
Definition: TrackRecordGenerator.h:42
GenModule
Base class for common behaviour of generator interfaces.
Definition: GenModule.h:39
TrackRecordGenerator
Track Record Generator. The class takes input simulation track records and uses them as generator rec...
Definition: TrackRecordGenerator.h:27
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TrackRecordGenerator::TrackRecordGenerator
TrackRecordGenerator(const std::string &name, ISvcLocator *pSvcLocator)
Definition: TrackRecordGenerator.cxx:25
TrackRecordGenerator::m_events
int m_events
Definition: TrackRecordGenerator.h:37
TrackRecordGenerator::m_fourMom
std::vector< CLHEP::HepLorentzVector > m_fourMom
Definition: TrackRecordGenerator.h:40
TrackRecordGenerator::m_stopped_tminus
float m_stopped_tminus
Definition: TrackRecordGenerator.h:49
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
TrackRecordGenerator::m_stopped_tplus
float m_stopped_tplus
Bounds for random time.
Definition: TrackRecordGenerator.h:49
GenModule.h
TrackRecordGenerator::callGenerator
virtual StatusCode callGenerator()
For calling the generator on each iteration of the event loop.
Definition: TrackRecordGenerator.cxx:46
Polarization.h
TrackRecordGenerator::m_smearTRp
double m_smearTRp
Amount by which to smear TR momentum.
Definition: TrackRecordGenerator.h:46
TrackRecordGenerator::m_add_cL
bool m_add_cL
For stopped particles, add c*L to the time.
Definition: TrackRecordGenerator.h:50