CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HFFibre.h
Go to the documentation of this file.
1 #ifndef SimG4CMS_HFFibre_h
2 #define SimG4CMS_HFFibre_h 1
3 // File: HFFibre.h
5 // Description: Calculates attenuation length
7 
11 
12 #include "G4ThreeVector.hh"
13 
14 #include <vector>
15 #include <string>
16 
17 class DDCompactView;
18 
19 class HFFibre {
20 
21 public:
22 
23  //Constructor and Destructor
24  HFFibre(std::string & name, const DDCompactView & cpv,
25  edm::ParameterSet const & p);
26  ~HFFibre();
27 
28  double attLength(double lambda);
29  double tShift(const G4ThreeVector& point, int depth,
30  int fromEndAbs=0);
31  double zShift(const G4ThreeVector& point, int depth,
32  int fromEndAbs=0);
33 
34 protected:
35 
36  std::vector<double> getDDDArray(const std::string&,
37  const DDsvalues_type&, int&);
38 
39 private:
40 
41  double cFibre;
42  std::vector<double> gpar, radius;
43  std::vector<double> shortFL, longFL;
44  std::vector<double> attL;
45  int nBinR, nBinAtt;
46  double lambLim[2];
47 
48 };
49 #endif
double tShift(const G4ThreeVector &point, int depth, int fromEndAbs=0)
Definition: HFFibre.cc:132
std::vector< double > gpar
Definition: HFFibre.h:42
std::vector< double > getDDDArray(const std::string &, const DDsvalues_type &, int &)
Definition: HFFibre.cc:181
double lambLim[2]
Definition: HFFibre.h:46
~HFFibre()
Definition: HFFibre.cc:112
double attLength(double lambda)
Definition: HFFibre.cc:114
int nBinAtt
Definition: HFFibre.h:45
double zShift(const G4ThreeVector &point, int depth, int fromEndAbs=0)
Definition: HFFibre.cc:144
std::vector< double > radius
Definition: HFFibre.h:42
type of data representation of DDCompactView
Definition: DDCompactView.h:76
double cFibre
Definition: HFFibre.h:41
int nBinR
Definition: HFFibre.h:45
std::vector< std::pair< unsigned int, DDValue > > DDsvalues_type
std::maps an index to a DDValue. The index corresponds to the index assigned to the name of the std::...
Definition: DDsvalues.h:19
HFFibre(std::string &name, const DDCompactView &cpv, edm::ParameterSet const &p)
Definition: HFFibre.cc:19
std::vector< double > shortFL
Definition: HFFibre.h:43
std::vector< double > attL
Definition: HFFibre.h:44
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5
std::vector< double > longFL
Definition: HFFibre.h:43