113{
114
115
117
118 G4double zHalfLength = fBesEmcGeometry->
GetZHalfLength(fCrystalID);
119 G4double thetaAxis = fBesEmcGeometry->
GetThetaAxis(fCrystalID);
120 G4double phiAxis = fBesEmcGeometry->
GetPhiAxis(fCrystalID);
124 G4double tanAlpha1 = fBesEmcGeometry->
GetTanAlpha1(fCrystalID);
128 G4double tanAlpha2 = fBesEmcGeometry->
GetTanAlpha2(fCrystalID);
129
130 if(!fFlagLeft)
131 {
132 phiAxis=-phiAxis;
133 tanAlpha1=-tanAlpha1;
134 tanAlpha2=-tanAlpha2;
135 G4double tmp;
136 tmp=xHalfLength1;
137 xHalfLength1=xHalfLength2;
138 xHalfLength2=tmp;
139 tmp=xHalfLength3;
140 xHalfLength3=xHalfLength4;
141 xHalfLength4=tmp;
142 }
143 if(fVerboseLevel>5)
144 G4cout << "The size of No." << copyNo << " crystal(placed) are:" << G4endl
145 << "zHalfLength =" << zHalfLength/cm << "(cm), " << G4endl
146 << "thetaAxis =" << thetaAxis/deg << "(degree), " << G4endl
147 << "phiAxis =" << phiAxis/deg << "(degree), " << G4endl
148 << "yHalfLength1=" << yHalfLength1/cm << "(cm), " << G4endl
149 << "xHalfLength1=" << xHalfLength1/cm << "(cm), " << G4endl
150 << "xHalfLength2=" << xHalfLength2/cm << "(cm), " << G4endl
151 << "tanAlpha1 =" << tanAlpha1 << "(), " << G4endl
152 << "yHalfLength2=" << yHalfLength2/cm << "(cm), " << G4endl
153 << "xHalfLength3=" << xHalfLength3/cm << "(cm), " << G4endl
154 << "xHalfLength4=" << xHalfLength4/cm << "(cm)." << G4endl
155 << "tanAlpha2 =" << tanAlpha2 << "(), " << G4endl
156 << "(x4-x3)*y1/(x2-x1)/y2="
157 << (xHalfLength4-xHalfLength3)*yHalfLength1/(xHalfLength2-xHalfLength1)/yHalfLength2 << G4endl
158 << "tanAlpha2/tanAlpha1=" << tanAlpha2/tanAlpha1 <<G4endl;
159
160
161 trackerChamber.SetAllParameters(
162 zHalfLength,
163 thetaAxis,
164 phiAxis,
165 yHalfLength1,
166 xHalfLength1,
167 xHalfLength2,
168 tanAlpha1,
169 yHalfLength2,
170 xHalfLength3,
171 xHalfLength4,
172 tanAlpha2);
173
174}
void ComputeIDAndSide(const G4VPhysicalVolume *) const
G4double GetZHalfLength(G4int NbCrystal)
G4double GetXHalfLength2(G4int NbCrystal)
G4double GetTanAlpha2(G4int NbCrystal)
G4double GetTanAlpha1(G4int NbCrystal)
G4double GetYHalfLength1(G4int NbCrystal)
G4double GetThetaAxis(G4int NbCrystal)
G4double GetXHalfLength4(G4int NbCrystal)
G4double GetYHalfLength2(G4int NbCrystal)
G4double GetXHalfLength1(G4int NbCrystal)
G4double GetPhiAxis(G4int NbCrystal)
G4double GetXHalfLength3(G4int NbCrystal)