Go to the documentation of this file.00001 #ifndef ChargeDividerFP420_h
00002 #define ChargeDividerFP420_h
00003
00004 #include "SimG4CMS/FP420/interface/FP420NumberingScheme.h"
00005
00006 #include "SimRomanPot/SimFP420/interface/CDividerFP420.h"
00007 #include "SimRomanPot/SimFP420/interface/LandauFP420.h"
00008
00009
00010 #include "SimDataFormats/TrackingHit/interface/PSimHit.h"
00011 #include "SimDataFormats/TrackingHit/interface/PSimHitContainer.h"
00012
00013 class ChargeDividerFP420 : public CDividerFP420{
00014 public:
00015
00016 explicit ChargeDividerFP420(double pit, double az420, double azD2, double azD3, int);
00017
00018
00019 virtual ~ChargeDividerFP420();
00020
00021
00022 CDividerFP420::ionization_type divide(const PSimHit&, const double&);
00023
00024 private:
00025
00026 FP420NumberingScheme * theFP420NumberingScheme;
00027
00028 double pitchcur;
00029 double z420;
00030 double zD2;
00031 double zD3;
00032
00033 float PeakShape(const PSimHit&);
00034 float DeconvolutionShape( const PSimHit&);
00035 float TimeResponse( const PSimHit&) ;
00036 void fluctuateEloss(int particleId, float momentum, float eloss, float length, int NumberOfSegmentation, float elossVector[]);
00037
00038 bool peakMode;
00039 bool decoMode;
00040
00041 bool fluctuateCharge;
00042
00043 int chargedivisionsPerHit;
00044 float zStationBegPos[4];
00045
00046 double deltaCut ;
00047 LandauFP420 fluctuate;
00048
00049 int verbosity;
00050 };
00051
00052 #endif