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 public:
22  //Constructor and Destructor
23  HFFibre(const std::string& name, const DDCompactView& cpv, edm::ParameterSet const& p);
24  ~HFFibre() = default;
25 
26  void initRun(const HcalDDDSimConstants*);
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 protected:
32  std::vector<double> getDDDArray(const std::string&, const DDsvalues_type&, int&);
33 
34 private:
35  double cFibre;
36  std::vector<double> gpar, radius;
37  std::vector<double> shortFL, longFL;
38  std::vector<double> attL;
39  int nBinR, nBinAtt;
40  double lambLim[2];
41 };
42 #endif
double tShift(const G4ThreeVector &point, int depth, int fromEndAbs=0)
Definition: HFFibre.cc:113
std::vector< double > gpar
Definition: HFFibre.h:36
std::vector< double > getDDDArray(const std::string &, const DDsvalues_type &, int &)
Definition: HFFibre.cc:163
double lambLim[2]
Definition: HFFibre.h:40
void initRun(const HcalDDDSimConstants *)
Definition: HFFibre.cc:81
double attLength(double lambda)
Definition: HFFibre.cc:97
int nBinAtt
Definition: HFFibre.h:39
double zShift(const G4ThreeVector &point, int depth, int fromEndAbs=0)
Definition: HFFibre.cc:123
~HFFibre()=default
std::vector< double > radius
Definition: HFFibre.h:36
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:35
int nBinR
Definition: HFFibre.h:39
std::vector< double > shortFL
Definition: HFFibre.h:37
std::vector< double > attL
Definition: HFFibre.h:38
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:37