CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC2/src/SimRomanPot/SimFP420/interface/ChargeDividerFP420.h

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 //#include "SimG4CMS/FP420/interface/FP420G4HitCollection.h"
00009 //#include "SimG4CMS/FP420/interface/FP420G4Hit.h"
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   //  CDividerFP420::ionization_type divide(const SimHit&, const StripDet& det);
00022   CDividerFP420::ionization_type divide(const PSimHit&, const double&);
00023   
00024  private:
00025   
00026   FP420NumberingScheme * theFP420NumberingScheme;
00027 
00028   double pitchcur; // is really moduleThickness here !!!
00029   double z420;  // dist between centers of 1st and 2nd stations
00030   double zD2;  // dist between centers of 1st and 2nd stations
00031   double zD3;  // dist between centers of 1st and 3rd stations
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   //  static SimpleConfigurable<bool> peakMode;
00038   bool peakMode;
00039   bool decoMode;
00040   //  static SimpleConfigurable<bool> fluctuateCharge;
00041   bool fluctuateCharge;
00042   //  static SimpleConfigurable<int>  chargeDivisionsPerStrip;
00043   int  chargedivisionsPerHit;
00044   float zStationBegPos[4];
00045   //  static SimpleConfigurable<double> deltaCut ;
00046   double deltaCut ;
00047   LandauFP420 fluctuate; 
00048   //  HepPDTable * particleTable;
00049   int  verbosity;
00050 };
00051 
00052 #endif