Go to the documentation of this file.00001 #ifndef EcalSimPhotonMCTruth_h
00002 #define EcalSimPhotonMCTruth_h
00003
00004 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
00005 #include "SimDataFormats/Track/interface/SimTrack.h"
00006 #include <vector>
00007
00016 class EcalSimPhotonMCTruth {
00017 public:
00018 EcalSimPhotonMCTruth() : isAConversion_(0),thePhoton_(0.,0.,0.,0.), theR_(0.), theZ_(0.),
00019 theConvVertex_(0.,0.,0.,0.) {};
00020
00021 EcalSimPhotonMCTruth(math::XYZTLorentzVectorD v) : thePhoton_(v) {};
00022
00023 EcalSimPhotonMCTruth(int isAConversion,math::XYZTLorentzVectorD v, float rconv, float zconv,
00024 math::XYZTLorentzVectorD convVertex, math::XYZTLorentzVectorD pV, std::vector<const SimTrack *> tracks );
00025
00026 math::XYZTLorentzVectorD primaryVertex() const {return thePrimaryVertex_;}
00027 int isAConversion() const { return isAConversion_;}
00028 float radius() const {return theR_;}
00029 float z() const {return theZ_;}
00030 math::XYZTLorentzVectorD fourMomentum() const {return thePhoton_;}
00031 math::XYZTLorentzVectorD vertex() const {return theConvVertex_;}
00032 std::vector<const SimTrack *> simTracks() const {return tracks_;}
00033
00034 private:
00035
00036 int isAConversion_;
00037 math::XYZTLorentzVectorD thePhoton_;
00038 float theR_;
00039 float theZ_;
00040 math::XYZTLorentzVectorD theConvVertex_;
00041 math::XYZTLorentzVectorD thePrimaryVertex_;
00042 std::vector<const SimTrack *> tracks_;
00043
00044 };
00045
00046 #endif
00047