BOSS 7.1.1
BESIII Offline Software System
Loading...
Searching...
No Matches
BesEmcEndGeometry.hh
Go to the documentation of this file.
1#ifndef BesEmcEndGeometry_h
2#define BesEmcEndGeometry_h 1
3
4#include "globals.hh"
5#include "G4ThreeVector.hh"
8class EmcGdmlWriter;
9
11{
12 public:
15 friend class BesEmcConstruction;
16 friend class BesEmcDigitizer;
17 friend class EmcGdmlWriter;
18
19 public:
20 void ReadParameters();
21 void ComputeParameters();
22 void Exchange(G4int cry1, G4int cry2);
23 void ExchangeSector7(G4int cry1, G4int cry2);
24 void ReflectX();
25 void Zoom(const G4ThreeVector pos[8], const G4double factor);
26 void ModifyForCasing(G4ThreeVector pos[8], G4int CryNb);
27 G4ThreeVector ComputeDimAndPos(const G4int, const G4int, const G4int);
28
29 public:
30 inline G4int GetCryNumInOneLayer(G4int num){ return cryNumInOneLayer[num]; }
31
32 private:
33 G4double WorldRmin1;
34 G4double WorldRmax1;
35 G4double WorldRmin2;
36 G4double WorldRmax2;
37 G4double WorldDz;
38 G4double WorldZPosition;
39
40 G4double SectorRmin1;
41 G4double SectorRmax1;
42 G4double SectorRmin2;
43 G4double SectorRmax2;
44 G4double SectorDz;
45 G4double SectorZPosition;
46
47 G4double fTyvekThickness;
48 G4double fAlThickness;
49 G4double fMylarThickness;
50 G4double totalThickness;
51 G4double CrystalLength;
52
53 private:
54 G4double param[35][24];
55 G4double penta[5][6];
56 G4int cryNumInOneLayer[6];
57 G4int pentaInOneSector[5];
58 G4ThreeVector fPnt[35][8]; //8 point of one crystal
59 G4ThreeVector fPnt1[35][8];
60 G4ThreeVector cryPoint[8];
61 G4ThreeVector zoomPoint[8];
62};
63
64#endif
void Exchange(G4int cry1, G4int cry2)
friend class EmcGdmlWriter
void ExchangeSector7(G4int cry1, G4int cry2)
void ModifyForCasing(G4ThreeVector pos[8], G4int CryNb)
void Zoom(const G4ThreeVector pos[8], const G4double factor)
G4ThreeVector ComputeDimAndPos(const G4int, const G4int, const G4int)
G4int GetCryNumInOneLayer(G4int num)