CMS 3D CMS Logo

HFFibre.h

Go to the documentation of this file.
00001 #ifndef SimG4CMS_HFFibre_h
00002 #define SimG4CMS_HFFibre_h 1
00004 // File: HFFibre.h
00005 // Description: Calculates attenuation length
00007 
00008 #include "DetectorDescription/Core/interface/DDsvalues.h"
00009 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00010 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00011 
00012 #include "G4ThreeVector.hh"
00013 
00014 #include <vector>
00015 #include <string>
00016 
00017 class DDCompactView;    
00018 
00019 class HFFibre {
00020   
00021 public:
00022   
00023   //Constructor and Destructor
00024   HFFibre(std::string & name, const DDCompactView & cpv,
00025           edm::ParameterSet const & p);
00026   ~HFFibre();
00027 
00028   double              attLength(double lambda);
00029   double              tShift(G4ThreeVector point, int depth, 
00030                              bool fromEndAbs=false);
00031 
00032 protected:
00033 
00034   std::vector<double> getDDDArray(const std::string&, 
00035                                   const DDsvalues_type&, int&);
00036 
00037 private:
00038 
00039   double                      cFibre;
00040   std::vector<double>         gpar, radius;
00041   std::vector<double>         shortFL, longFL;
00042   std::vector<double>         attL;
00043   int                         nBinR, nBinAtt;
00044   double                      lambLim[2];
00045 
00046 };
00047 #endif

Generated on Tue Jun 9 17:46:49 2009 for CMSSW by  doxygen 1.5.4