CMS 3D CMS Logo

TotemTransport.h
Go to the documentation of this file.
1 #ifndef TOTEM_TRANSPORT
2 #define TOTEM_TRANSPORT
9 
15 
16 #include <unordered_map>
17 #include <array>
18 
19 namespace CLHEP {
20  class HepRandomEngine;
21 }
23 public:
26  ~TotemTransport() override;
27  // look for scattered protons, propagates them, add them to the event
28 
30  void process(const HepMC::GenEvent* ev, const edm::EventSetup& es, CLHEP::HepRandomEngine* engine) override;
31 
32 private:
33  bool transportProton(const HepMC::GenParticle*);
34  LHCOpticsApproximator* ReadParameterization(const std::string&, const std::string&);
35 
38  LHCOpticsApproximator* m_aprox_ip_150_r = nullptr;
39  LHCOpticsApproximator* m_aprox_ip_150_l = nullptr;
48 
50 
51  // Private data members
52  edm::FileInPath m_opticsFileBeam1_, m_opticsFileBeam2_;
53 
55 
57  double m_Zin_;
58  double m_Zout_;
59  double m_fEtacut;
61 };
62 #endif
edm::ParameterSet m_parameters
double m_model_ip_150_l_zmax
double m_model_ip_150_l_zmin
double m_fMomentumMin
bool ev
std::string m_model_ip_150_r_name
std::string m_model_ip_150_l_name
edm::ESHandle< ParticleDataTable > m_pdt
std::string m_model_root_file_l
double m_model_ip_150_r_zmin
Class finds the parametrisation of MADX proton transport and transports the protons according to it 5...
edm::EDGetTokenT< edm::HepMCProduct > m_protonsToken_
std::string m_model_root_file_r
double m_beampipe_aperture_radius
edm::FileInPath m_opticsFileBeam2_
double m_model_ip_150_r_zmax