CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC4_patch1/src/SimG4CMS/HcalTestBeam/interface/HcalTB02SD.h

Go to the documentation of this file.
00001 #ifndef HcalTestBeam_HcalTB02SD_H
00002 #define HcalTestBeam_HcalTB02SD_H
00003 // -*- C++ -*-
00004 //
00005 // Package:     HcalTestBeam
00006 // Class  :     HcalTB02SD
00007 //
00014 //
00015 // Original Author:  
00016 //         Created:  Fri May 20 10:14:34 CEST 2006
00017 // $Id: HcalTB02SD.h,v 1.4 2008/05/13 07:18:37 sunanda Exp $
00018 //
00019   
00020 // system include files
00021 #include <map>
00022  
00023 // user include files
00024 #include "SimG4CMS/Calo/interface/CaloSD.h"
00025 #include "SimG4CMS/HcalTestBeam/interface/HcalTB02NumberingScheme.h"
00026 
00027 #include "G4String.hh"
00028 #include <boost/cstdint.hpp>
00029 
00030 class HcalTB02SD : public CaloSD {
00031 
00032 public:
00033   HcalTB02SD(G4String, const DDCompactView &, SensitiveDetectorCatalog &, 
00034              edm::ParameterSet const &, const SimTrackManager*);
00035   virtual ~HcalTB02SD();
00036   virtual double getEnergyDeposit(G4Step*);
00037   virtual uint32_t setDetUnitId(G4Step* step);
00038   void setNumberingScheme(HcalTB02NumberingScheme* scheme);
00039 
00040 private:    
00041 
00042   void   initMap(G4String, const DDCompactView &);
00043   double curve_LY(G4String& , G4StepPoint* ); 
00044   double crystalLength(G4String);
00045 
00046 private:    
00047 
00048   HcalTB02NumberingScheme * numberingScheme;
00049   bool                      useWeight;
00050   bool                      useBirk;
00051   double                    birk1, birk2, birk3;
00052   std::map<G4String,double> lengthMap;
00053 };
00054 
00055 #endif