CMS 3D CMS Logo

TotemTransport.h
Go to the documentation of this file.
1 #ifndef TOTEM_TRANSPORT
2 #define TOTEM_TRANSPORT
9 
15 
16 
17 #include <unordered_map>
18 #include <array>
19 
20 namespace CLHEP
21 {
22  class HepRandomEngine;
23 }
25  public:
26  TotemTransport(const edm::ParameterSet & ps, bool verbosity);
28  ~TotemTransport() override ;
29  // look for scattered protons, propagates them, add them to the event
30 
32  void process(const HepMC::GenEvent * ev , const edm::EventSetup & es, CLHEP::HepRandomEngine * engine) override;
33 
34 
35  private:
36  bool transportProton( const HepMC::GenParticle* );
37  LHCOpticsApproximator* ReadParameterization(const std::string& , const std::string&);
38 
41  LHCOpticsApproximator* m_aprox_ip_150_r=nullptr;
42  LHCOpticsApproximator* m_aprox_ip_150_l=nullptr;
51 
53 
54  // Private data members
55  edm::FileInPath m_opticsFileBeam1_, m_opticsFileBeam2_;
56 
58 
60  double m_Zin_;
61  double m_Zout_;
62  double m_fEtacut;
64 
65 };
66 #endif
edm::ESHandle< ParticleDataTable > m_pdt
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
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