#=================================================================== from org.jlab.geom.visualizer import CLASVisualizer from org.jlab.geom.detector.bst import BSTFactory from org.jlab.clas12.dbdata import DataBaseLoader from org.jlab.geom.prim import Path3D, Face3D, Line3D, Point3D, Transformation3D from java.lang import Math from java.awt import Color import random import math import sys #=================================================================== # #=================================================================== data = DataBaseLoader.getConstantsBST() print data.toString() factory = BSTFactory() viewer = CLASVisualizer(100, 100, 1400, 1200) viewer.setBackgroundColor(Color(150, 150, 255)) viewer.getDisplay().setBackgroundColor(Color(150, 150, 255)) viewer.setVisible(True) viewer.setTransparancy(0.5) path = Path3D() path.addPoint(0.0, 0.0, 0.0) path.addPoint(300.0, 400.0, 200.0) #viewer.add(path,Color.WHITE)
from org.jlab.geom.prim import Path3D, Face3D, Line3D, Point3D, Transformation3D from org.jlab.geom.detector.ec import ECFactory from org.jlab.clas12.dbdata import DataBaseLoader from org.jlab.geom.detector.dc import DCFactory import random import math rootVolume = Point3D(2170.0799, 0.0, 6789.8397) layerVolume = Point3D(0.0, 0.0, -9.03) paddle = Point3D(-0.668675418863381, 0, 0) dataDC = DataBaseLoader.getConstantsDC() factory = DCFactory() #dcDET = factory.createDetectorCLAS(dataDC) dcDET = factory.createDetectorTilted(dataDC) for sl in range(0, 6): for l in range(0, 6): layer = dcDET.getSector(0).getSuperlayer(sl).getLayer(l) ncomp = layer.getNumComponents() print '**************** SUPERLAYER ', sl, ' ********** LAYER ', l, ' **********' for comp in range(0, ncomp): point = layer.getComponent(comp).getMidpoint() print '%3d %3d %5d %12.5f %12.5f %12.5f' % (sl, l, comp, point.x(), point.y(), point.z())
from org.jlab.geom.prim import Path3D from org.jlab.geom.prim import Face3D from org.jlab.geom.prim import Line3D from org.jlab.geom.prim import Point3D from org.jlab.geom.prim import Transformation3D #=================================================================== from java.lang import Math import random import math import sys #=================================================================== # Geometry Package Tests for BST detector #=================================================================== data = DataBaseLoader.getConstantsBST() print data.toString() factory = BSTFactory() bstLayer0 = factory.createRingLayer(data,0,0,0) bstLayer1 = factory.createRingLayer(data,0,0,1) frame = GeometryFrame(800,800,10,40); frame.setVisible(True) for i in range(0,256): line = bstLayer1.getComponent(i).getLine() line.show() if i%4==0: frame.addLineXZ(line)
# This module is for producing FTOF geometry. # # Author: G. Gavalian (8/5/2014) #=========================================================== from org.jlab.geom.detector.ftof import FTOFFactory from org.jlab.clas12.dbdata import DataBaseLoader from org.jlab.geom.prim import Transformation3D #----------------------------------------------------------- # Create a data provider which loads the data from the # database. The database is a CCDB implementation located # on the host clasdb.jlab.org # # The data provider is passed to the factory to create a # detector (FTOF detector in this case) in local coordinates #----------------------------------------------------------- data = DataBaseLoader.getConstantsFTOF() factory = FTOFFactory() detector = factory.createDetectorCLAS(data) for i in range(0, 6): layerA = detector.getSector(i).getSuperlayer(0).getLayer(0) layerAL = factory.createLayer(data, 0, 0, 0) numComponents = layerAL.getNumComponents() midpFirst = layerAL.getComponent(0).getMidpoint() midpLast = layerAL.getComponent(numComponents - 1).getMidpoint() transform = layerAL.getTransformation() transinv = transform.inverse() transform.show()
return particle def getParticleDeg(pid, mom, theta,phi): theta_rad = Math.toRadians(theta) phi_rad = Math.toRadians(phi) return getParticle(pid,mom,theta_rad,phi_rad) #=================================================================== # MAIN program #=================================================================== particleID = sys.argv[1] particleP = sys.argv[2] particleTh = sys.argv[3] particlePhi = sys.argv[4] dataDC = DataBaseLoader.getConstantsDC() factory = DCFactory() dcDetector = factory.createDetectorCLAS(dataDC) dataEC = DataBaseLoader.getConstantsEC() factory = ECFactory() ecDetector = factory.createDetectorCLAS(dataEC) dataSC = DataBaseLoader.getConstantsFTOF() factory = FTOFFactory() scDetector = factory.createDetectorCLAS(dataSC) particle = getParticleDeg(int(particleID),float(particleP),float(particleTh),float(particlePhi)) print particle.toString()
from org.jlab.clas12.dbdata import DataBaseLoader provider = DataBaseLoader.getCalorimeterConstants() print provider.toString() provider = DataBaseLoader.getTimeOfFlightConstants() print provider.toString()
from org.jlab.geom.detector.ec import ECFactory from org.jlab.clas12.dbdata import DataBaseLoader from org.jlab.geom.prim import Path3D,Face3D,Line3D,Point3D,Transformation3D from java.lang import Math import random import math import sys #=================================================================== # #=================================================================== thetaAngle = sys.argv[1] phiAngle = sys.argv[2] data = DataBaseLoader.getCalorimeterConstants() print data.toString() factory = ECFactory() ecDetector = factory.createDetectorCLAS(data) ecDetector.show() pathMag = 15000.0 pathPhi = float(phiAngle)/57.29 pathTheta = float(thetaAngle)/57.29 path = Path3D() path.addPoint(0.0,0.0,0.0) path.addPoint(pathMag*Math.sin(pathTheta)*Math.cos(pathPhi),pathMag*Math.sin(pathTheta)*Math.sin(pathPhi),pathMag*Math.cos(pathTheta)) hits = ecDetector.getHits(path)
from org.jlab.evio.clas12 import EvioDataSync from org.jlab.clas12.seb import SEBReconstruction from org.jlab.rec.sc import SCReconstruction from org.jlab.rec.ec import ECReconstruction from org.jlab.clas12.utils import Benchmark #----------------------------------------------------------- # Initilizing EvioSource object. It in turn initializes # EvioFactory which loads the dictionary from directory # CLAS12DIR/lib/bankdefs/clas12 #----------------------------------------------------------- inputFile = sys.argv[1] dataProvider = DataBaseLoader.getConstantsDC() factory = DCFactory() dcDetector = factory.createDetectorTilted(dataProvider) writer = EvioDataSync() writer.open('sebrec_output.evio') reader = EvioSource() reader.open(inputFile) swimmer = CLASRotatedSwimmer() icounter = 0 while(reader.hasEvent()): icounter = icounter + 1
from org.jlab.geom.detector.ec import ECFactory from org.jlab.clas12.dbdata import DataBaseLoader from org.jlab.geom.prim import Path3D, Face3D, Line3D, Point3D, Transformation3D from java.lang import Math import random import math import sys #=================================================================== # #=================================================================== thetaAngle = sys.argv[1] phiAngle = sys.argv[2] data = DataBaseLoader.getCalorimeterConstants() print data.toString() factory = ECFactory() ecDetector = factory.createDetectorCLAS(data) ecDetector.show() pathMag = 15000.0 pathPhi = float(phiAngle) / 57.29 pathTheta = float(thetaAngle) / 57.29 path = Path3D() path.addPoint(0.0, 0.0, 0.0) path.addPoint(pathMag * Math.sin(pathTheta) * Math.cos(pathPhi), pathMag * Math.sin(pathTheta) * Math.sin(pathPhi), pathMag * Math.cos(pathTheta))
from org.jlab.geom.prim import Path3D,Face3D,Line3D,Point3D,Transformation3D from org.jlab.geom.detector.ec import ECFactory from org.jlab.clas12.dbdata import DataBaseLoader from org.jlab.geom.detector.dc import DCFactory import random import math rootVolume = Point3D(2170.0799,0.0,6789.8397) layerVolume = Point3D(0.0,0.0,-9.03) paddle = Point3D(-0.668675418863381,0,0) dataDC = DataBaseLoader.getConstantsDC() factory = DCFactory() #dcDET = factory.createDetectorCLAS(dataDC) dcDET = factory.createDetectorTilted(dataDC) for sl in range(0,6): for l in range(0,6): layer = dcDET.getSector(0).getSuperlayer(sl).getLayer(l) ncomp = layer.getNumComponents() print '**************** SUPERLAYER ',sl,' ********** LAYER ',l,' **********' for comp in range(0,ncomp): point = layer.getComponent(comp).getMidpoint() print '%3d %3d %5d %12.5f %12.5f %12.5f' % (sl,l,comp,point.x(),point.y(), point.z())
from org.jlab.geom.detector.ftof import FTOFFactory from org.jlab.clas12.dbdata import DataBaseLoader from org.jlab.geom.prim import Path3D,Face3D,Line3D,Point3D,Transformation3D from java.lang import Math import random import math import sys #=================================================================== # #=================================================================== thetaAngle = sys.argv[1] phiAngle = sys.argv[2] data = DataBaseLoader.getConstantsFTOF() print data.toString() factory = FTOFFactory() ecDetector = factory.createDetectorCLAS(data) ecDetector.show() pathMag = 15000.0 pathPhi = float(phiAngle)/57.29 pathTheta = float(thetaAngle)/57.29 path = Path3D() path.addPoint(0.0,0.0,0.0) path.addPoint(pathMag*Math.sin(pathTheta)*Math.cos(pathPhi),pathMag*Math.sin(pathTheta)*Math.sin(pathPhi),pathMag*Math.cos(pathTheta)) hits = ecDetector.getHits(path)
from org.jlab.geom.detector.ec import ECFactory from org.jlab.geom.detector.ftof import FTOFFactory from org.jlab.geom.prim import Transformation3D from org.jlab.clas12.dbdata import DataBaseLoader from org.jlab.geom.prim import Path3D, Face3D, Line3D, Point3D, Transformation3D from java.lang import Math from java.awt import Color import random import math import sys #=================================================================== # #=================================================================== data = DataBaseLoader.getConstantsEC() datasc = DataBaseLoader.getConstantsFTOF() #print data.toString() factory = ECFactory() factorysc = FTOFFactory() ftofLayers = [] ecLayers = [] for sector in range(0, 6): eclayer = factory.createLayer(data, 0, 0, 0) trans = Transformation3D() trans.translateXYZ(0.0, 0.0, 711.0) trans.rotateY(25.0 / 57.29) trans.rotateZ(sector * 60.0 / 57.29)