CMS 3D CMS Logo

CMSSW_4_4_3_patch1/src/SimDataFormats/CaloHit/interface/HFShowerPhoton.h

Go to the documentation of this file.
00001 #ifndef SimDataFormats_HFShowerPhoton_H
00002 #define SimDataFormats_HFShowerPhoton_H
00003 
00004 // File: HFShowerPhoton.h
00005 // Photons which will generate single photo electron as in HFShowerLibrary
00007 
00008 #include "DataFormats/Math/interface/Point3D.h"
00009 #include <iostream>
00010 #include <cmath>
00011 #include <vector>
00012 
00013 class HFShowerPhoton {
00014 
00015 public:
00016 
00018   typedef math::XYZPointF Point;
00019 
00020   HFShowerPhoton(float x=0, float y=0, float z=0, float lambda=0, float t=0);
00021   HFShowerPhoton(const Point &p, float time, float lambda);
00022   HFShowerPhoton(const HFShowerPhoton&);
00023   virtual ~HFShowerPhoton();
00024 
00025   const Point & position() const {return position_;}
00026   float         x()        const {return position_.X();}
00027   float         y()        const {return position_.Y();}
00028   float         z()        const {return position_.Z();}
00029   float         lambda()   const {return lambda_;}
00030   float         t()        const {return time_;}
00031  
00032 private:
00033 
00034   Point         position_;
00035   float         lambda_;
00036   float         time_;
00037 
00038 };
00039 
00040 typedef std::vector<HFShowerPhoton> HFShowerPhotonCollection;
00041 
00042 std::ostream& operator<<(std::ostream&, const HFShowerPhoton&);
00043 
00044 #endif