CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
RandomtXiGunProducer.h
Go to the documentation of this file.
1 #ifndef RandomtXiGunProducer_H
2 #define RandomtXiGunProducer_H
3 
6 
7 
8 namespace edm {
9 
11 
12  public:
14  virtual ~RandomtXiGunProducer();
15 
16  private:
17 
18  virtual void produce(Event & e, const EventSetup& es) override;
19 
20  HepMC::FourVector make_particle(double t,double Xi,double phi,int PartID, int direction);
21  double Minimum_t(double xi) {double partE = fpEnergy*(1.-xi);
22  double massSQ= pow(PData->mass().value(),2);
23  double partP = sqrt(partE*partE-massSQ);
24  return -2.*(sqrt(fpEnergy*fpEnergy-massSQ)*partP-fpEnergy*partE+massSQ);
25  };
26 
27  protected :
28 
29  // data members
30 
31  double fMint ;
32  double fMaxt ;
33  double fMinXi ;
34  double fMaxXi ;
35 
36  };
37 }
38 #endif
HepMC::FourVector make_particle(double t, double Xi, double phi, int PartID, int direction)
RandomtXiGunProducer(const ParameterSet &)
T sqrt(T t)
Definition: SSEVec.h:18
virtual void produce(Event &e, const EventSetup &es) override
Geom::Phi< T > phi() const
const HepPDT::ParticleData * PData
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:40