Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 14:28:48

0001 #ifndef SimDataFormats_HFShowerPhoton_H
0002 #define SimDataFormats_HFShowerPhoton_H
0003 ///////////////////////////////////////////////////////////////////////////////
0004 // File: HFShowerPhoton.h
0005 // Photons which will generate single photo electron as in HFShowerLibrary
0006 ///////////////////////////////////////////////////////////////////////////////
0007 
0008 #include "DataFormats/Math/interface/Point3D.h"
0009 #include <iostream>
0010 #include <cmath>
0011 #include <vector>
0012 
0013 class HFShowerPhoton {
0014 public:
0015   /// point in the space
0016   typedef math::XYZPointF Point;
0017 
0018   HFShowerPhoton(float x = 0, float y = 0, float z = 0, float lambda = 0, float t = 0);
0019   HFShowerPhoton(const Point& p, float time, float lambda);
0020   HFShowerPhoton(const HFShowerPhoton&);
0021   virtual ~HFShowerPhoton();
0022 
0023   const Point& position() const { return position_; }
0024   float x() const { return position_.X(); }
0025   float y() const { return position_.Y(); }
0026   float z() const { return position_.Z(); }
0027   float lambda() const { return lambda_; }
0028   float t() const { return time_; }
0029 
0030 private:
0031   Point position_;
0032   float lambda_;
0033   float time_;
0034 };
0035 
0036 typedef std::vector<HFShowerPhoton> HFShowerPhotonCollection;
0037 
0038 std::ostream& operator<<(std::ostream&, const HFShowerPhoton&);
0039 
0040 #endif