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