58#ifndef GENERATORMODULESCOSMICGEN_H
59#define GENERATORMODULESCOSMICGEN_H
63#include "CLHEP/Vector/LorentzVector.h"
83 virtual StatusCode
fillEvt(HepMC::GenEvent* evt);
97 static constexpr float m_GeV = 1000.f;
98 static constexpr float m_mm = 10.f;
106 IntegerProperty
m_dsid{
this,
"Dsid", 999999,
"Dataset ID number"};
115 FloatProperty
m_IPx{
this,
"IPx", 0.f};
116 FloatProperty
m_IPy{
this,
"IPy", 0.f};
117 FloatProperty
m_IPz{
this,
"IPz", 0.f};
119 FloatProperty
m_zpos{
this,
"Zposition", 14500.f};
122 BooleanProperty
m_cavOpt{
this,
"OptimizeForCavern",
false};
126 BooleanProperty
m_muonECOpt{
this,
"OptimizeForMuonEndCap",
false};
136 StringProperty
m_infile{
this,
"eventfile",
"NONE"};
146 bool exzCut(
const CLHEP::Hep3Vector& pos,
const CLHEP::HepLorentzVector& p);
151 FloatProperty
m_rmax{
this,
"RMax", 10000000.f};
Scalar phi() const
phi method
Scalar theta() const
theta method
BooleanProperty m_doAimedAtPixelsCut
virtual ~CosmicGenerator()=default
std::vector< CLHEP::HepLorentzVector > m_fourPos
BooleanProperty m_doPathlengthCut
IntegerProperty m_printMod
BooleanProperty m_doReweighting
CLHEP::HepLorentzVector generateVertexReweighted(void)
virtual StatusCode genInitialize()
For initializing the generator, if required.
DoubleProperty m_ysurface
bool exzCut(const CLHEP::Hep3Vector &pos, const CLHEP::HepLorentzVector &p)
DoubleProperty m_pixelplanemaxx
static constexpr float m_mm
IntegerProperty m_srOneOpt
bool pointsAtPixels(double xgen, double ygen, double zgen, double theta, double phi)
IntegerProperty m_printEvent
virtual StatusCode fillEvt(HepMC::GenEvent *evt)
For filling the HepMC event object.
BooleanProperty m_srOnePixECOpt
DoubleProperty m_energyCutThreshold
static CLHEP::HepRandomEngine * COSMIC_RANDOM_ENGINE
Static pointer to random number generator for use by.
CLHEP::HepLorentzVector generateVertex(void)
std::vector< HepMC::Polarization > m_polarization
DoubleProperty m_rvertmax
std::vector< CLHEP::HepLorentzVector > m_fourMom
CLHEP::Hep3Vector m_center
DoubleProperty m_pixelplanemaxz
virtual StatusCode callGenerator()
For calling the generator on each iteration of the event loop.
CosmicGenerator(const std::string &name, ISvcLocator *pSvcLocator)
BooleanProperty m_muonECOpt
static constexpr float m_GeV
BooleanProperty m_swapYZAxis
std::vector< int > m_pdgCode
virtual StatusCode genFinalize()
For finalising the generator, if required.
double pathLengthInRock(double xgen, double ygen, double zgen, double theta, double phi)
GenModule(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.