Go to the documentation of this file.00001 #ifndef SimG4CMS_HFFibre_h
00002 #define SimG4CMS_HFFibre_h 1
00003
00004
00005
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
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 int fromEndAbs=0);
00031 double zShift(G4ThreeVector point, int depth,
00032 int fromEndAbs=0);
00033
00034 protected:
00035
00036 std::vector<double> getDDDArray(const std::string&,
00037 const DDsvalues_type&, int&);
00038
00039 private:
00040
00041 double cFibre;
00042 std::vector<double> gpar, radius;
00043 std::vector<double> shortFL, longFL;
00044 std::vector<double> attL;
00045 int nBinR, nBinAtt;
00046 double lambLim[2];
00047
00048 };
00049 #endif