CMS 3D CMS Logo

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 
12 
13 #include "G4ThreeVector.hh"
14 
15 #include <vector>
16 #include <string>
17 
18 class DDCompactView;
19 
20 class HFFibre {
21 
22 public:
23 
24  //Constructor and Destructor
25  HFFibre(const std::string & name, const DDCompactView & cpv,
26  edm::ParameterSet const & p);
27  ~HFFibre() = default;
28 
29  void initRun(const HcalDDDSimConstants*);
30  double attLength(double lambda);
31  double tShift(const G4ThreeVector& point, int depth,
32  int fromEndAbs=0);
33  double zShift(const G4ThreeVector& point, int depth,
34  int fromEndAbs=0);
35 
36 protected:
37 
38  std::vector<double> getDDDArray(const std::string&,
39  const DDsvalues_type&, int&);
40 
41 private:
42 
43  double cFibre;
44  std::vector<double> gpar, radius;
45  std::vector<double> shortFL, longFL;
46  std::vector<double> attL;
47  int nBinR, nBinAtt;
48  double lambLim[2];
49 
50 };
51 #endif
double tShift(const G4ThreeVector &point, int depth, int fromEndAbs=0)
Definition: HFFibre.cc:115
std::vector< double > gpar
Definition: HFFibre.h:44
std::vector< double > getDDDArray(const std::string &, const DDsvalues_type &, int &)
Definition: HFFibre.cc:164
double lambLim[2]
Definition: HFFibre.h:48
void initRun(const HcalDDDSimConstants *)
Definition: HFFibre.cc:82
double attLength(double lambda)
Definition: HFFibre.cc:97
int nBinAtt
Definition: HFFibre.h:47
double zShift(const G4ThreeVector &point, int depth, int fromEndAbs=0)
Definition: HFFibre.cc:127
~HFFibre()=default
std::vector< double > radius
Definition: HFFibre.h:44
Compact representation of the geometrical detector hierarchy.
Definition: DDCompactView.h:80
HFFibre(const std::string &name, const DDCompactView &cpv, edm::ParameterSet const &p)
Definition: HFFibre.cc:20
double cFibre
Definition: HFFibre.h:43
int nBinR
Definition: HFFibre.h:47
std::vector< double > shortFL
Definition: HFFibre.h:45
std::vector< double > attL
Definition: HFFibre.h:46
std::vector< std::pair< unsigned int, DDValue > > DDsvalues_type
Definition: DDsvalues.h:12
*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:45