LISTSERV mailing list manager LISTSERV 16.5

Help for LCDET-SVN Archives


LCDET-SVN Archives

LCDET-SVN Archives


LCDET-SVN@LISTSERV.SLAC.STANFORD.EDU


View:

Message:

[

First

|

Previous

|

Next

|

Last

]

By Topic:

[

First

|

Previous

|

Next

|

Last

]

By Author:

[

First

|

Previous

|

Next

|

Last

]

Font:

Proportional Font

LISTSERV Archives

LISTSERV Archives

LCDET-SVN Home

LCDET-SVN Home

LCDET-SVN  November 2014

LCDET-SVN November 2014

Subject:

r3417 - in /projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter: HPSTracker2014GeometryDefinition.java HPSTracker2014LCDDBuilder.java SurveyVolume.java

From:

[log in to unmask]

Reply-To:

Notification of commits to the lcdet svn repository <[log in to unmask]>

Date:

Mon, 10 Nov 2014 19:55:32 -0000

Content-Type:

text/plain

Parts/Attachments:

Parts/Attachments

text/plain (212 lines)

Author: phansson
Date: Mon Nov 10 11:55:25 2014
New Revision: 3417

Log:
Adding L4-6 bottom u-channel and plate. Work in progress.

Modified:
    projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTracker2014GeometryDefinition.java
    projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTracker2014LCDDBuilder.java
    projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/SurveyVolume.java

Modified: projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTracker2014GeometryDefinition.java
 =============================================================================
--- projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTracker2014GeometryDefinition.java	(original)
+++ projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTracker2014GeometryDefinition.java	Mon Nov 10 11:55:25 2014
@@ -72,6 +72,13 @@
         
         UChannelL13BottomPlate uChannelL13BottomPlate = new UChannelL13BottomPlate("support_plate_bottom_L13", uChannelL13Bottom, null); 
         surveyVolumes.add(uChannelL13BottomPlate);
+        
+        UChannelL46Bottom uChannelL46Bottom = new UChannelL46Bottom("support_bottom_L46", svtBox, null, svtBoxBasePlate);
+        surveyVolumes.add(uChannelL46Bottom);
+        
+        UChannelL46BottomPlate uChannelL46BottomPlate = new UChannelL46BottomPlate("support_plate_bottom_L46", uChannelL46Bottom, null);
+        surveyVolumes.add(uChannelL46BottomPlate);
+        
         
         for(int l=1; l<=6;++l) {
             if(doLayer(l)) {
@@ -452,7 +459,128 @@
     
     
     
-    
+    /**
+     * @SurveyVolume volume defining the coordinate system of the u-channel 
+     *  Reference: SVTBox base plate coordinate system
+     *  Origin: midpoint between upstream survey cones
+     *  Orientation: u - width pointing towards electron side, v - pointing along the U-channel in the beam direction
+     *  
+     *  @author Per Hansson Adrian <[log in to unmask]>
+     *
+     */
+    public static class UChannelL46Bottom extends SurveyVolume {
+        public final static double width = UChannelL46BottomPlate.width;
+        public final static double length = UChannelL46BottomPlate.length;
+        public final static double height = 2.575*inch;
+        public static final double kin_mount_to_edge_of_plate_x = width/2.0-5.75*inch; 
+        public static final double kin_mount_to_edge_of_plate_y = 0.2*inch;
+        public final static double cone_to_edge_of_plate_y = 2.75*inch; 
+        public final static double side_plate_cone_y = 2.0*inch;
+        public final static double cone_to_L1_hole_y = cone_to_edge_of_plate_y - kin_mount_to_edge_of_plate_y; 
+        
+        
+        
+        
+        public UChannelL46Bottom(String name, SurveyVolume m,
+                AlignmentCorrection alignmentCorrection,
+                SurveyVolume ref) {
+            super(name, m, alignmentCorrection, ref);
+            init();
+        }
+        protected void setCenter() {
+            final double x = 0.0;
+            final double y = -cone_to_edge_of_plate_y + length/2.0;
+            final double z = -side_plate_cone_y - UChannelL46BottomPlate.height + height/2.0;
+            setCenter(x,y,z);
+        }
+        protected void setBoxDim() {
+            setBoxDim(width,length,height);
+        }
+        protected void setPos() {
+            //locate cone from pin hole
+//            final double ball_pos_x = 4*inch;
+//            final double ball_pos_y = (4.175 + 2*3.937) * inch; 
+//            final double ball_pos_z = side_plate_cone_y; // TODO need to find distance to surface from kin mount
+            final double ball_pos_x = 0.0;
+            final double ball_pos_y = 0.0;
+            final double ball_pos_z = 0.0;
+            
+            ballPos = new BasicHep3Vector(ball_pos_x, ball_pos_y, ball_pos_z);
+            veePos = new BasicHep3Vector(ballPos.x()-1, ballPos.y(), ballPos.z());
+            flatPos = new BasicHep3Vector(ballPos.x(), ballPos.y()-1, ballPos.z());
+        }
+    }
+
+    
+    
+    
+    public abstract static class UChannelL46Plate extends SurveyVolume {
+        public final static double pocket_depth_L4 = 0.1;
+        public final static double pocket_depth_L5 = pocket_depth_L4 + 0.118;
+        public final static double pocket_depth_L6 = pocket_depth_L5 + 0.118;
+        public final static double hole_to_hole_x =7.874*inch;
+        
+        public UChannelL46Plate(String name, SurveyVolume m,
+                AlignmentCorrection alignmentCorrection) {
+            super(name, m, alignmentCorrection);
+        }
+        
+        /**
+         * Get pocket depth for this plate
+         * @param layer
+         * @return pocket depth
+         */
+        public static double getPocketDepth(int layer) {
+             if(layer==4) return pocket_depth_L4;
+             else if(layer==5) return pocket_depth_L5;
+             else if(layer==6) return pocket_depth_L6;
+             else {
+                 throw new RuntimeException("Trying to create a L4-6 module with invalid layer nr: " + layer);
+             }
+        }
+        
+    }
+    
+    /**
+     * @SurveyVolume volume defining the coordinate system of the u-channel plate
+     * Reference:  @UChannelL13Bottom coordinate system
+     * Origin:  same as reference
+     * Orientation: same as reference
+     *
+     * @author Per Hansson Adrian <[log in to unmask]>
+     *
+     */
+    public static class UChannelL46BottomPlate extends UChannelL46Plate {
+        public final static double width = 13.5*inch;
+        public final static double length = 21.0*inch;
+        public final static double height = 0.5*inch;
+       
+        
+        public UChannelL46BottomPlate(String name, SurveyVolume m,
+                AlignmentCorrection alignmentCorrection) {
+            super(name, m, alignmentCorrection);
+            setMaterial("Aluminum");
+            init();
+        }
+
+        protected void setCenter() {
+            final double x = 0.0;
+            final double y = -UChannelL46Bottom.cone_to_edge_of_plate_y + length/2.0;
+            final double z = -UChannelL46Bottom.side_plate_cone_y - height/2.0;
+            setCenter(x,y,z);
+        }
+        protected void setBoxDim() {
+            setBoxDim(width,length,height);
+        }
+        protected void setPos() {
+           ballPos = new BasicHep3Vector(0, 0, 0);
+           veePos = new BasicHep3Vector(1, 0, 0);
+           flatPos = new BasicHep3Vector(0, 1, 0);
+        }
+
+        
+       
+    }
 
     /**
      * @SurveyVolume volume defining the coordinate system of module L1-3

Modified: projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTracker2014LCDDBuilder.java
 =============================================================================
--- projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTracker2014LCDDBuilder.java	(original)
+++ projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTracker2014LCDDBuilder.java	Mon Nov 10 11:55:25 2014
@@ -8,6 +8,8 @@
 import org.lcsim.geometry.compact.converter.HPSTracker2014GeometryDefinition.SvtBox;
 import org.lcsim.geometry.compact.converter.HPSTracker2014GeometryDefinition.UChannelL13Bottom;
 import org.lcsim.geometry.compact.converter.HPSTracker2014GeometryDefinition.UChannelL13BottomPlate;
+import org.lcsim.geometry.compact.converter.HPSTracker2014GeometryDefinition.UChannelL46Bottom;
+import org.lcsim.geometry.compact.converter.HPSTracker2014GeometryDefinition.UChannelL46BottomPlate;
 import org.lcsim.geometry.compact.converter.HPSTrackerBuilder.ModuleBundle;
 import org.lcsim.geometry.compact.converter.HPSTrackerGeometryDefinition.TrackingVolume;
 import org.lcsim.geometry.compact.converter.lcdd.util.LCDD;
@@ -80,6 +82,12 @@
         add(uChannelL13BottomPlate);
         
         
+        LCDDSurveyVolume uChannelL46Bottom = new LCDDSurveyVolume(_builder.getSurveyVolume(UChannelL46Bottom.class), lcdd, svtBox);
+        add(uChannelL46Bottom);        
+        
+        LCDDSurveyVolume uChannelL46BottomPlate = new LCDDSurveyVolume(_builder.getSurveyVolume(UChannelL46BottomPlate.class), lcdd, uChannelL46Bottom);
+        add(uChannelL46BottomPlate);        
+        
         // build modules    
 
         if(isDebug()) System.out.printf("%s: build modules\n", getClass().getSimpleName());

Modified: projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/SurveyVolume.java
 =============================================================================
--- projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/SurveyVolume.java	(original)
+++ projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/SurveyVolume.java	Mon Nov 10 11:55:25 2014
@@ -296,9 +296,9 @@
 	}
 	public String toString() {
 		String s = "==\n" + getName() + ":\n";
-		if(getCenter()!=null) s += "Center of box in local coordinates: %s \n" + getCenter().toString();
-        if( getBoxDim()!=null) s += "Box dimensions: %s \n" + getBoxDim().toString();
-		s += "Coordinate system:\n" + getCoord().toString();
+		if(getCenter()!=null) s += "Center of box in local coordinates: " + getCenter().toString() + "\n";
+        if( getBoxDim()!=null) s += "Box dimensions: " + getBoxDim().toString() + "\n";
+		s += "Coordinate system:\n" + getCoord().toString() + "\n";
 		return s;
 	}
 	

########################################################################
Use REPLY-ALL to reply to list

To unsubscribe from the LCDET-SVN list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=LCDET-SVN&A=1

Top of Message | Previous Page | Permalink

Advanced Options


Options

Log In

Log In

Get Password

Get Password


Search Archives

Search Archives


Subscribe or Unsubscribe

Subscribe or Unsubscribe


Archives

January 2016
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
December 2013
November 2013

ATOM RSS1 RSS2



LISTSERV.SLAC.STANFORD.EDU

Secured by F-Secure Anti-Virus CataList Email List Search Powered by the LISTSERV Email List Manager

Privacy Notice, Security Notice and Terms of Use