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 HFFibre {
19 public:
20  //Constructor and Destructor
21  HFFibre(const std::string& name,
22  const HcalDDDSimConstants* hcons,
23  const HcalSimulationParameters* hps,
24  edm::ParameterSet const& p);
25  ~HFFibre() = default;
26 
27  double attLength(double lambda);
28  double tShift(const G4ThreeVector& point, int depth, int fromEndAbs = 0);
29  double zShift(const G4ThreeVector& point, int depth, int fromEndAbs = 0);
30 
31 private:
34  double cFibre;
35  std::vector<double> gpar, radius;
36  std::vector<double> shortFL, longFL;
37  std::vector<double> attL;
38  int nBinR, nBinAtt;
39  double lambLim[2];
40 };
41 #endif
double tShift(const G4ThreeVector &point, int depth, int fromEndAbs=0)
Definition: HFFibre.cc:103
std::vector< double > gpar
Definition: HFFibre.h:35
double lambLim[2]
Definition: HFFibre.h:39
HFFibre(const std::string &name, const HcalDDDSimConstants *hcons, const HcalSimulationParameters *hps, edm::ParameterSet const &p)
Definition: HFFibre.cc:16
const HcalDDDSimConstants * hcalConstant_
Definition: HFFibre.h:32
double attLength(double lambda)
Definition: HFFibre.cc:87
const HcalSimulationParameters * hcalsimpar_
Definition: HFFibre.h:33
int nBinAtt
Definition: HFFibre.h:38
double zShift(const G4ThreeVector &point, int depth, int fromEndAbs=0)
Definition: HFFibre.cc:114
~HFFibre()=default
std::vector< double > radius
Definition: HFFibre.h:35
double cFibre
Definition: HFFibre.h:34
int nBinR
Definition: HFFibre.h:38
std::vector< double > shortFL
Definition: HFFibre.h:36
std::vector< double > attL
Definition: HFFibre.h:37
*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:36