Package org.jlab.rec.cvt.bmt
Class BMTGeometry
java.lang.Object
org.jlab.rec.cvt.bmt.BMTGeometry
- Author:
- devita
- 
Field SummaryFields
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionorg.jlab.groot.group.DataGroupdraw()getAxis(int layer, int sector) Return axis for the selected tile, identified by layer and sectorgetCstrip(int region, int sector, int strip) Returns Arc3D corresponding to the selected C-detector strip according to real geometryintReturn the number of the closest strip to the given trajectory point in the detector local framedoublegetCstripZ(int region, int strip) Returns the Z position of the selected C-detector strip in the local framestatic BMTTypegetDetectorType(int layer) Return region number for a given layerdoublegetDPhi(int layer, int sector) Return half tile phi coveragegetIdealLCZstrip(int region, int sector, int strip, Swim swim) Returns Line3D for Z detector pseudostrip identified from region, sector, strip numbers, for ideal geometry After Loentz angle correctionintReturn layer number for a given region and detector typeintReturn the layer numberstatic int[]getlC()getLCZstrip(int region, int sector, int strip, Swim swim) Returns Line3D for Z detector pseudo-strip identified from region, sector, strip numbers, for real geometry After Lorentz angle correctiondoublegetLocalAngle(int layer, int sector, Point3D trackPos, Vector3D trackDir) getLocalTrack(int layer, int sector, Point3D trackPos, Vector3D trackDir) Return track vector for local angle calculations 1) transform to the geometry service local frame first, 2) rotates to bring the track intersection at phi=90.static int[]getlZ()static intgetModuleId(int layer, int sector) intintintgetNStrips(int layer) Return number of strips of the selected layergetOffset(int layer, int sector) Return offset of the selected tile, identified by layer and sectordoublegetPhi(int layer, int sector) Return tile phi centerdoubledoublegetPitch(int layer, int strip) Return pitch for the selected layer and stripdoublegetRadius(int layer) Return radius of the selected strip layerdoublegetRadiusMidDrift(int layer) Return radius of the selected layer corresponding to the center of the drift gapintgetRegion(int layer) Return region number for a given layergetRotation(int layer, int sector) Return ROTATIONS for the selected tile, identified by layer and sectorintgetSector(int layer, double localAngle) Return the sector numberintReturn the sector numberintReturn the number of the closest strip to the given trajectory point Detector mis-alignments geometry are taken into account by transforming the trajectory point to detector local frameintChecks whether a trajectory point is within the active area of a tilegetSurface(int layer, int sector, Strip strip) getSurfaceC(int layer, int sector, int stripId, double centroid, double centroidValue) getSurfaceZ(int layer, int sector, int stripId, double centroid, double x, double y, double centroidValue) doubleReturns the local angle of the track for C detectors the angle is positive for tracks going at positive zdoublegetThetaLorentz(int layer, int sector, double x, double y, double z, Swim swim) Calculate Theta Lorentz based on solenoid scale and drift settingsdoublegetThetaLorentz(int layer, int sector, Point3D pos, Swim swim) Calculate Theta Lorentz based on solenoid scale and drift settingsdoubleReturns the local angle of the track for Z detectors the angle is positive for tracks going toward positive phidoubleReturn thickness of the drift gapgetTileSurface(int layer, int sector) doublegetZmax(int layer) Return maximum z of the selected layer in the local framedoublegetZmin(int layer) Return minimum z of the selected layer in the local framegetZstrip(int region, int sector, int strip) Returns Line3D for Z detector strip identified from region, sector, strip numbers, for real geometryintReturn the number of the closest strip to the given trajectory point in the detector local framedoublegetZstripPhi(int region, int sector, int strip) booleaninDetector(int layer, int sector, Point3D traj) Checks whether a trajectory point is within the active area of a tilestatic voidExecutable method: implements checkstoGlobal(int layer, int sector) toLocal(int layer, int sector) 
- 
Field Details- 
NLAYERSpublic static final int NLAYERS- See Also:
 
- 
NSECTORSpublic static final int NSECTORS- See Also:
 
- 
NPASSIVEpublic static final int NPASSIVE- See Also:
 
 
- 
- 
Constructor Details- 
BMTGeometryHandles BMT geometry- Parameters:
- voltage- HV table
 
 
- 
- 
Method Details- 
getNLayerspublic int getNLayers()
- 
getNSectorspublic int getNSectors()
- 
getLayerReturn layer number for a given region and detector type- Parameters:
- region- (1-3)
- detector- (C or Z)
- Returns:
- layer (1-6)
 
- 
getlZpublic static int[] getlZ()- Returns:
- the lZ
 
- 
getlCpublic static int[] getlC()- Returns:
- the lC
 
- 
getRegionpublic int getRegion(int layer) Return region number for a given layer- Parameters:
- layer- (1-6)
- Returns:
- region (1-3)
 
- 
getModuleIdpublic static int getModuleId(int layer, int sector) 
- 
getDetectorTypeReturn region number for a given layer- Parameters:
- layer- (1-6)
- Returns:
- type ("C" or "Z");
 
- 
getRadiuspublic double getRadius(int layer) Return radius of the selected strip layer- Parameters:
- layer- (1-6)
- Returns:
- radius
 
- 
getRadiusMidDriftpublic double getRadiusMidDrift(int layer) Return radius of the selected layer corresponding to the center of the drift gap- Parameters:
- layer- (1-6)
- Returns:
- radius (=0 if layer is out of range)
 
- 
getNStripspublic int getNStrips(int layer) Return number of strips of the selected layer- Parameters:
- layer- (1-6)
- Returns:
- nstrips (=0 if layer is out of range)
 
- 
getPitchpublic double getPitch(int layer, int strip) Return pitch for the selected layer and strip- Parameters:
- layer- (1-6)
- strip-
- Returns:
- pitch (=0 if layer is out of range)
 
- 
getZminpublic double getZmin(int layer) Return minimum z of the selected layer in the local frame- Parameters:
- layer- (1-6)
- Returns:
- z (=udf if layer is out of range)
 
- 
getZmaxpublic double getZmax(int layer) Return maximum z of the selected layer in the local frame- Parameters:
- layer- (1-6)
- Returns:
- z (=udf if layer is out of range)
 
- 
getPhipublic double getPhi(int layer, int sector) Return tile phi center- Parameters:
- layer- (1-6)
- sector- (1-3)
- Returns:
- phi (=udf if layer is out of range)
 
- 
getDPhipublic double getDPhi(int layer, int sector) Return half tile phi coverage- Parameters:
- layer- (1-6)
- sector- (1-3)
- Returns:
- dz (=udf if layer is out of range)
 
- 
getThicknesspublic double getThickness()Return thickness of the drift gap- Returns:
- thickness
 
- 
getOffsetReturn offset of the selected tile, identified by layer and sector- Parameters:
- layer- (1-6)
- sector- (1-3)
- Returns:
- Point3D offset: 3D offset
 
- 
getRotationReturn ROTATIONS for the selected tile, identified by layer and sector- Parameters:
- layer- (1-6)
- sector- (1-3)
- Returns:
- Point3D offset: 3D offset
 
- 
toGlobal
- 
toLocal
- 
getAxisReturn axis for the selected tile, identified by layer and sector- Parameters:
- layer- (1-6)
- sector- (1-3)
- Returns:
- Point3D offset: 3D offset
 
- 
toLocal
- 
toGlobal
- 
getZstripReturns Line3D for Z detector strip identified from region, sector, strip numbers, for real geometry- Parameters:
- region-
- sector-
- strip-
- Returns:
- stripline
 
- 
getIdealLCZstripReturns Line3D for Z detector pseudostrip identified from region, sector, strip numbers, for ideal geometry After Loentz angle correction- Parameters:
- region-
- sector-
- strip-
- swim-
- Returns:
- Line3D
 
- 
getLCZstripReturns Line3D for Z detector pseudo-strip identified from region, sector, strip numbers, for real geometry After Lorentz angle correction- Parameters:
- region-
- sector-
- strip-
- swim-
- Returns:
- stripline
 
- 
getZstripPhipublic double getZstripPhi(int region, int sector, int strip) - Parameters:
- region-
- sector-
- strip-
- Returns:
- the phi angle of the strip center in radians
 
- 
getCstripZpublic double getCstripZ(int region, int strip) Returns the Z position of the selected C-detector strip in the local frame- Parameters:
- region-
- strip-
- Returns:
- zc
 
- 
getCstripReturns Arc3D corresponding to the selected C-detector strip according to real geometry- Parameters:
- region-
- sector-
- strip-
- Returns:
 
- 
getTileSurface
- 
getSectorpublic int getSector(int layer, double localAngle) Return the sector number- Parameters:
- layer- [0-6]
- localAngle- track angle in the local frame in radians
- Returns:
- sector [1-3] (not) accounting for dead areas if layer (0) [1-6] or 0 if layer is undefined
 
- 
getSectorReturn the sector number- Parameters:
- layer- [0-6]
- localTraj- trajectory point in the local frame
- Returns:
- sector [1-3] (not) accounting for dead areas if layer (0) [1-6] or 0 if layer is undefined
 
- 
getLayerReturn the layer number- Parameters:
- localtraj- point on one of the detector surfaces
- strip2Det-
- Returns:
- layer [1-6] or 0 if undefined
 
- 
inDetectorChecks whether a trajectory point is within the active area of a tile- Parameters:
- layer-
- sector-
- traj-
- Returns:
- true/false
 
- 
getStripChecks whether a trajectory point is within the active area of a tile- Parameters:
- traj-
- Returns:
- true/false
 
- 
getStripReturn the number of the closest strip to the given trajectory point Detector mis-alignments geometry are taken into account by transforming the trajectory point to detector local frame- Parameters:
- layer- (1-6)
- sector- (1-3)
- traj- trajectory point on the layer surface in the lab
- Returns:
- strip number (0 if the point is not within the active area)
 
- 
getCstripReturn the number of the closest strip to the given trajectory point in the detector local frame- Parameters:
- region- (1-3)
- traj- trajectory point on the layer surface in the local frame
- Returns:
- strip number (0 if the point is not within the active area)
 
- 
getZstripReturn the number of the closest strip to the given trajectory point in the detector local frame- Parameters:
- region- (1-3)
- localTraj- trajectory point on the layer surface in the local frame
- Returns:
- strip number (0 if the point is not within the active area)
 
- 
getPhi
- 
getThetaLorentzCalculate Theta Lorentz based on solenoid scale and drift settings- Parameters:
- layer-
- sector-
- pos-
- swim-
- Returns:
- thetaL in radians
 
- 
getThetaLorentzCalculate Theta Lorentz based on solenoid scale and drift settings- Parameters:
- layer-
- sector-
- x-
- y-
- z-
- swim-
- Returns:
- thetaL in radians
 
- 
getLocalTrackReturn track vector for local angle calculations 1) transform to the geometry service local frame first, 2) rotates to bring the track intersection at phi=90. The final frame has: - z along the axis of the tile cylinder - y perpendicular to the surface The y and x components determine the local angle for Z strips The x and z components determine the local angle for C strips- Parameters:
- layer-
- sector-
- trackPos-
- trackDir-
- Returns:
- track direction unit vector
 
- 
getThetaZReturns the local angle of the track for Z detectors the angle is positive for tracks going toward positive phi- Parameters:
- layer-
- sector-
- trackPos-
- trackDir-
- Returns:
- local angle
 
- 
getThetaCReturns the local angle of the track for C detectors the angle is positive for tracks going at positive z- Parameters:
- layer-
- sector-
- trackPos-
- trackDir-
- Returns:
- local angle
 
- 
getLocalAngle
- 
getSurfaces
- 
getSurfaceCpublic Surface getSurfaceC(int layer, int sector, int stripId, double centroid, double centroidValue) 
- 
getSurfaceZpublic Surface getSurfaceZ(int layer, int sector, int stripId, double centroid, double x, double y, double centroidValue) 
- 
getSurface
- 
getInnerTube
- 
getOuterTube
- 
drawpublic org.jlab.groot.group.DataGroup draw()
- 
mainExecutable method: implements checks- Parameters:
- arg-
 
 
-