1 #ifndef SimTransport_CTPPSHector_h 2 #define SimTransport_CTPPSHector_h 10 #include "HepMC/GenEvent.h" 11 #include "HepMC/GenVertex.h" 12 #include "HepMC/GenParticle.h" 22 #include "H_BeamLine.h" 23 #include "H_BeamParticle.h" 35 #include <CLHEP/Vector/LorentzVector.h> 53 void add(
const HepMC::GenEvent *
ev ,
const edm::EventSetup & es, CLHEP::HepRandomEngine * engine);
59 void LorentzBoost(LorentzVector& p_out,
const string& frame);
69 int getDirect(
unsigned int part_n )
const;
116 std::map<unsigned int, double>
m_eta;
118 std::map<unsigned int, double>
m_pz;
HepMC::GenEvent * addPartToHepMC(HepMC::GenEvent *event)
double get_BeamMomentum()
CTPPSTransport
HepMC source to be processed.
void clearApertureFlags()
std::map< unsigned int, double > m_eAtTrPoint
std::map< unsigned int, double > m_yAtTrPoint
std::map< unsigned int, int > m_pdg
std::map< unsigned int, double > m_pz
std::map< unsigned int, int > m_direct
std::map< unsigned int, H_BeamParticle * > m_beamPart
edm::ESHandle< ParticleDataTable > pdt
std::map< unsigned int, bool > m_isStoppedctpps
void add(const HepMC::GenEvent *ev, const edm::EventSetup &es, CLHEP::HepRandomEngine *engine)
const double ProtonMassSQ
std::map< unsigned int, double > m_eta
std::vector< LHCTransportLink > theCorrespondenceMap
std::map< unsigned int, bool > m_isCharged
int getDirect(unsigned int part_n) const
std::map< unsigned int, double > m_TxAtTrPoint
std::map< unsigned int, double > m_xAtTrPoint
std::unique_ptr< H_BeamLine > m_beamlineCTPPS1
std::map< unsigned int, double > m_TyAtTrPoint
CTPPSHector(const edm::ParameterSet &ps, bool verbosity, bool CTPPSTransport)
std::unique_ptr< H_BeamLine > m_beamlineCTPPS2
void filterCTPPS(TRandom3 *)
void set_BeamEnergy(double e)
CLHEP::HepLorentzVector LorentzVector
void LorentzBoost(LorentzVector &p_out, const string &frame)
std::vector< LHCTransportLink > & getCorrespondenceMap()
void ApplyBeamCorrection(LorentzVector &, CLHEP::HepRandomEngine *engine)