#include <musrForwardParameterisation.hh>
Public Member Functions | |
| musrForwardParameterisation (G4int NoRadialPixels, G4int NoLengthPixels, G4double X1Pixels, G4double X2Pixels, G4double Y1Pixels, G4double Y2Pixels, G4double ZPixels, G4double ArrayLength, G4double TiltAngle, G4double LRadius) | |
| virtual | ~musrForwardParameterisation () |
| void | ComputeTransformation (const G4int copyNo, G4VPhysicalVolume *physVol) const |
| void | ComputeDimensions (G4Trd &trackerlayer, const G4int copyNo, const G4VPhysicalVolume *physVol) const |
Definition at line 25 of file musrForwardParameterisation.hh.
|
||||||||||||||||||||||||||||||||||||||||||||
|
Definition at line 10 of file musrForwardParameterisation.cc. 00021 { 00022 fNoRadialPixels = NoRadialPixels; 00023 fNoLengthPixels = NoLengthPixels; 00024 fPixelWidthX1 = X1Pixel; 00025 fPixelWidthX2 = X2Pixel; 00026 fPixelWidthY1 = Y1Pixel; 00027 fPixelWidthY2 = Y2Pixel; 00028 fPixelWidthZ = ZPixel; 00029 fArrayLength = ArrayLength; 00030 fTiltAngle = TiltAngle; 00031 fLRadius = LRadius; 00032 00033 00034 00035 }
|
|
|
Definition at line 39 of file musrForwardParameterisation.cc.
|
|
||||||||||||||||
|
Definition at line 91 of file musrForwardParameterisation.cc. 00092 { 00093 00094 G4int j; 00095 G4double fNewWidthX1; 00096 G4double fNewWidthX2; 00097 G4double fNewWidthY1; 00098 G4double fNewWidthY2; 00099 G4double fNewWidthZ; 00100 00101 G4double fRadiusAtY1; 00102 G4double fRadiusAtY2; 00103 G4double fZDist; 00104 G4double fZStep; 00105 G4double hArrayLength=0.5*fArrayLength; 00106 G4double hDetectorGap=1.2*mm; 00107 00108 00109 00110 j=int(copyNo/fNoRadialPixels); 00111 00112 fNewWidthZ=(hArrayLength/(cos(fTiltAngle)*fNoLengthPixels))-hDetectorGap;; 00113 fZStep = (fArrayLength/fNoLengthPixels); 00114 fZDist=j*fArrayLength/fNoLengthPixels; 00115 00116 fRadiusAtY1=fLRadius-(fZDist)*tan(fTiltAngle); 00117 fRadiusAtY2=fLRadius-(fZDist+fZStep)*tan(fTiltAngle); 00118 00119 fNewWidthY1=(fRadiusAtY1*tan(2*pi/(2*fNoRadialPixels)))-hDetectorGap;; 00120 fNewWidthY2=(fRadiusAtY2*tan(2*pi/(2*fNoRadialPixels)))-hDetectorGap;; 00121 fNewWidthX1=fPixelWidthX1; 00122 fNewWidthX2=fPixelWidthX2; 00123 00124 PixelForward.CheckAndSetAllParameters(fPixelWidthX1,fPixelWidthX1, 00125 fNewWidthY1,fNewWidthY2, 00126 fNewWidthZ); 00127 }
|
|
||||||||||||
|
Definition at line 47 of file musrForwardParameterisation.cc. 00048 { 00049 G4int j; 00050 G4double ftheta; 00051 G4double fRadius; 00052 G4double fZDist; 00053 G4double hArrayLength=0.5*fArrayLength; 00054 G4double fhZStep; 00055 00056 j=int(copyNo/fNoRadialPixels); 00057 00058 G4RotationMatrix* fRotFdeg= new G4RotationMatrix(); 00059 G4ThreeVector fTa; 00060 00061 00062 fhZStep = (fArrayLength/(2*fNoLengthPixels)); 00063 fZDist=j*fArrayLength/fNoLengthPixels; 00064 00065 fTa.setZ(fZDist-(hArrayLength-fhZStep)); 00066 00067 fRadius=fLRadius-(fZDist+fhZStep)*tan(fTiltAngle); 00068 00069 ftheta=(360*(copyNo-1)/fNoRadialPixels)*deg; 00070 fTa.setX(fRadius*cos(ftheta)*mm); 00071 fTa.setY(fRadius*sin(ftheta)*mm); 00072 00073 fRotFdeg->rotateZ(-ftheta); 00074 fRotFdeg->rotateY(fTiltAngle); 00075 00076 00077 //----- first delete the old rotation matrix 00078 G4RotationMatrix* rmold = physVol->GetRotation(); 00079 delete rmold; 00080 00081 00082 physVol->SetTranslation(fTa); 00083 physVol->SetRotation(fRotFdeg); 00084 00085 00086 }
|
1.4.6