FairRoot/PandaRoot
Functions
PndRichGeo.cxx File Reference
#include "PndRichGeo.h"
#include "FairGeoNode.h"
#include "TRandom.h"

Go to the source code of this file.

Functions

 ClassImp (PndRichGeo) PndRichGeo
 

Function Documentation

ClassImp ( PndRichGeo  )

Definition at line 5 of file PndRichGeo.cxx.

References Double_t.

9  : FairGeoSet()
10 {
11  // Constructor
12  // fName has to be the name used in the geometry for all volumes.
13  // If there is a mismatch the geometry cannot be build.
14  fName="rich";
15  maxSectors=0;
16  maxModules=10;
17 
18  fRichOffset = TVector3( 0, 0, 700-35-10/*+50*/ ); //-70
19  fAlBoxSize = TVector3( 600, 600, 100 );
20  fAlBoxWallThickness = 0.05;
21  fAerogelSize = TVector3( 0*590+1*290, 0*590+1*120, 4 );
22  fAerogelOffset = TVector3( 0, 0, 1 );
23  fnOpt = std::vector<Double_t>(1,1.05);
24  fAerogelLayers = std::vector<Double_t>(1,1);
25  fAngleExtansionInner = 1.0;
26  fAngleExtansionOuter = 1.0;
27  fMirrorCurvature = 20;
28  fAngleOfMirrorPosition = 50;
29  fMirrorThickness = 0.1;
30  fMirrorLength = 290;
31  fPhDetLength = 290;
32  fPhDetThickness = 3;
33  fBeamPipeHoleX = 10;
34  fBeamPipeHoleY = 10;
35 
36  fMirrorType = 0;
37  fFlatMirrorZ = std::vector<Double_t>(2);
38  fFlatMirrorY = std::vector<Double_t>(2);
39  fFlatMirrorZGlob = std::vector<Double_t>(2);
40  fFlatMirrorYGlob = std::vector<Double_t>(2);
41  fPhDetZ = std::vector<Double_t>(2);
42  fPhDetY = std::vector<Double_t>(2);
43 
44  fSenseLevel = 4;
45  fSensorsPerDevice = 1<<(fSenseLevel-1); // number of sensores per device in one direction
46  // Quantum efficiency
47  fPhDetDev = 0; // pde_dpc3200_22.dat
48  fPhDetDev = 1; // pde_h12700.dat
49  std::string workdir(getenv( "VMCWORKDIR" ));
50  std::string effFileName = workdir;
51  Double_t keff;
52  if (fPhDetDev==0)
53  {
54  effFileName += "/detectors/rich/pde_dpc3200_22.dat";
55  fPhDetSizeX = 3.26;
56  fPhDetSizeY = 3.26;
57  fPhDetGapX = 0.01;
58  fPhDetGapY = 0.01;
59  keff = 1.7; // measured difference MC-EXP
60  }
61  if (fPhDetDev==1)
62  {
63  effFileName += "/detectors/rich/pde_h12700.dat";
64  fPhDetSizeX = 5.2;
65  fPhDetSizeY = 5.2;
66  fPhDetGapX = 0.01;
67  fPhDetGapY = 0.01;
68  keff = 1;
69  }
70  std::ifstream from( effFileName.c_str() );
71  Double_t wli, pdei;
72  from >> wli >> pdei;
73  while( !from.eof() ) {
74  fWlPhoton.push_back(wli); // nm
75  fPDE.push_back(pdei/100.0/keff); // %/100
76  from >> wli >> pdei;
77  };
78  fPhDetEff = new TGraph(fWlPhoton.size(),fWlPhoton.data(),fPDE.data());
79 
80 }
Double_t