![]() |
![]() |
00001 #ifndef PreshowerHitMaker_h 00002 #define PreshowerHitMaker_h 00003 00004 #include "FastSimulation/CaloHitMakers/interface/CaloHitMaker.h" 00005 00006 class CaloGeometryHelper; 00007 class LandauFluctuationGenerator; 00008 00009 class PreshowerHitMaker : public CaloHitMaker 00010 { 00011 public: 00012 00013 typedef math::XYZVector XYZVector; 00014 typedef math::XYZVector XYZPoint; 00015 00016 PreshowerHitMaker(CaloGeometryHelper * calo, 00017 const XYZPoint & , 00018 const XYZVector& , 00019 const XYZPoint& , 00020 const XYZVector&, 00021 const LandauFluctuationGenerator* aGenerator); 00022 00023 ~PreshowerHitMaker() {;} 00024 00025 inline void setSpotEnergy(double e) { spotEnergy=e;} 00026 bool addHit(double r,double phi,unsigned layer=0); 00027 const std::map<unsigned,float>& getHits() { return hitMap_ ;} ; 00028 00029 00030 private: 00031 00032 XYZPoint psLayer1Entrance_; 00033 XYZVector psLayer1Dir_; 00034 XYZPoint psLayer2Entrance_; 00035 XYZVector psLayer2Dir_; 00036 double invcostheta1x; 00037 double invcostheta1y; 00038 double invcostheta2x; 00039 double invcostheta2y; 00040 double x1,y1,z1; 00041 double x2,y2,z2; 00042 00044 const LandauFluctuationGenerator* theGenerator; 00045 00046 }; 00047 00048 #endif