5 modified files
lcsim/src/org/lcsim/contrib/onoprien/vsegment/geom/segmenter
diff -u -r1.1 -r1.2
--- CylindricalBarrelSegmenter.java 30 Sep 2008 04:41:51 -0000 1.1
+++ CylindricalBarrelSegmenter.java 25 Nov 2008 21:03:05 -0000 1.2
@@ -28,7 +28,7 @@
*
*
* @author D.Onoprienko
- * @version $Id: CylindricalBarrelSegmenter.java,v 1.1 2008/09/30 04:41:51 onoprien Exp $
+ * @version $Id: CylindricalBarrelSegmenter.java,v 1.2 2008/11/25 21:03:05 onoprien Exp $
*/
public class CylindricalBarrelSegmenter extends RegionSegmenter {
@@ -74,9 +74,9 @@
*/
public void detectorChanged(Detector detector) {
super.detectorChanged(detector);
- Subdetector sub = detector.getSubdetector(_sdName);
- if (sub == null) return;
- _detElts = AbstractSegmenter.getLeaves(sub.getDetectorElement());
+ _sd = detector.getSubdetector(_sdName);
+ if (_sd == null) return;
+ _detElts = AbstractSegmenter.getLeaves(_sd.getDetectorElement());
for (IDetectorElement de : _detElts) {
if (!(de.getGeometry().getLogicalVolume().getSolid() instanceof Tube)) {
throw new RuntimeException("You are trying to apply CylindricalBarrelSegmenter to detector whose barrel is not made of Tubes");
@@ -160,7 +160,7 @@
double stripWidth = (postfix >= _stripWidth.length) ? _stripWidth[0] : _stripWidth[postfix];
double stripLength = (postfix >= _stripLength.length) ? _stripLength[0] : _stripLength[postfix];
SensorType type = new Cylinder(_radius[postfix], _length[postfix], stripWidth, stripLength);
- return new Sensor(_detElts.get(postfix), postfixToID(postfix), type, new RefFrameCylinder(_radius[postfix]));
+ return new Sensor(_sd, _detElts.get(postfix), postfixToID(postfix), type, new RefFrameCylinder(_radius[postfix]));
}
/**
@@ -173,6 +173,7 @@
// -- Private parts : ---------------------------------------------------------
String _sdName;
+ Subdetector _sd;
List<IDetectorElement> _detElts;
lcsim/src/org/lcsim/contrib/onoprien/vsegment/geom/segmenter
diff -u -r1.6 -r1.7
--- DiskToWedgesSegmenter.java 5 Nov 2008 03:32:47 -0000 1.6
+++ DiskToWedgesSegmenter.java 25 Nov 2008 21:03:05 -0000 1.7
@@ -12,6 +12,7 @@
import org.lcsim.detector.Rotation3D;
import org.lcsim.detector.solids.Tube;
import org.lcsim.event.SimTrackerHit;
+import org.lcsim.geometry.Subdetector;
import org.lcsim.contrib.onoprien.vsegment.geom.RegionSegmenter;
import org.lcsim.contrib.onoprien.vsegment.geom.Sensor;
@@ -24,14 +25,15 @@
* Simplistic <tt>Segmenter</tt> that tiles a single disk with wedges.
*
* @author D. Onoprienko
- * @version $Id: DiskToWedgesSegmenter.java,v 1.6 2008/11/05 03:32:47 onoprien Exp $
+ * @version $Id: DiskToWedgesSegmenter.java,v 1.7 2008/11/25 21:03:05 onoprien Exp $
*/
public class DiskToWedgesSegmenter extends RegionSegmenter {
// -- Constructors : ----------------------------------------------------------
- public DiskToWedgesSegmenter(IDetectorElement disk, int nRadialSlices, int nPhiSlices, double pitch, boolean left) {
+ public DiskToWedgesSegmenter(Subdetector subDetector, IDetectorElement disk, int nRadialSlices, int nPhiSlices, double pitch, boolean left) {
+ _sd = subDetector;
_de = disk;
_left = left;
_pitch = pitch;
@@ -111,11 +113,12 @@
Hep3Vector origin = new BasicHep3Vector(r*Math.cos(phi), r*Math.sin(phi), _z);
RefFrameCartesian rf =
new RefFrameCartesian(origin, _rotation[indexPhi], _u[indexPhi], _v[indexPhi], ConstHep3Vector.V001);
- return new Sensor(_de, postfixToID(postfix), _sType[indexR], rf);
+ return new Sensor(_sd, _de, postfixToID(postfix), _sType[indexR], rf);
}
// -- Private parts : ---------------------------------------------------------
+ Subdetector _sd;
IDetectorElement _de;
boolean _left;
lcsim/src/org/lcsim/contrib/onoprien/vsegment/geom/segmenter
diff -u -r1.1 -r1.2
--- DiskTrackerSegmenter.java 3 Sep 2008 16:02:51 -0000 1.1
+++ DiskTrackerSegmenter.java 25 Nov 2008 21:03:05 -0000 1.2
@@ -17,7 +17,7 @@
* method that assigns segmenters to disks.
*
* @author D. Onoprienko
- * @version $Id: DiskTrackerSegmenter.java,v 1.1 2008/09/03 16:02:51 onoprien Exp $
+ * @version $Id: DiskTrackerSegmenter.java,v 1.2 2008/11/25 21:03:05 onoprien Exp $
*/
abstract public class DiskTrackerSegmenter extends ForwardingSegmenter {
@@ -39,9 +39,9 @@
// -- Initialization : --------------------------------------------------------
public void detectorChanged(Detector detector) {
- Subdetector sub = detector.getSubdetector(_subdName);
- if (sub == null) return;
- _dElements = AbstractSegmenter.getLeaves(sub.getDetectorElement());
+ _sd = detector.getSubdetector(_subdName);
+ if (_sd == null) return;
+ _dElements = AbstractSegmenter.getLeaves(_sd.getDetectorElement());
Collections.sort(_dElements, new Comparator<IDetectorElement>() {
public int compare(IDetectorElement s1, IDetectorElement s2) {
return (int)Math.signum(s1.getGeometry().getPosition().z()-s2.getGeometry().getPosition().z());
@@ -97,6 +97,7 @@
// -- Private parts : ---------------------------------------------------------
protected String _subdName;
+ protected Subdetector _sd;
protected List<IDetectorElement> _dElements;
protected HashMap<IDetectorElement,AbstractSegmenter> _deToSegmenter;
lcsim/src/org/lcsim/contrib/onoprien/vsegment/geom/segmenter
diff -u -r1.4 -r1.5
--- DiskTrackerToRingsSegmenter.java 5 Nov 2008 03:32:47 -0000 1.4
+++ DiskTrackerToRingsSegmenter.java 25 Nov 2008 21:03:05 -0000 1.5
@@ -37,7 +37,7 @@
* {@link #setStereoAngle(double angle)}.
*
* @author D.Onoprienko
- * @version $Id: DiskTrackerToRingsSegmenter.java,v 1.4 2008/11/05 03:32:47 onoprien Exp $
+ * @version $Id: DiskTrackerToRingsSegmenter.java,v 1.5 2008/11/25 21:03:05 onoprien Exp $
*/
public class DiskTrackerToRingsSegmenter extends RegionSegmenter {
@@ -89,9 +89,9 @@
*/
public void detectorChanged(Detector detector) {
super.detectorChanged(detector);
- Subdetector sub = detector.getSubdetector(_sdName);
- if (sub == null) return;
- _detElts = AbstractSegmenter.getLeaves(sub.getDetectorElement());
+ _sd = detector.getSubdetector(_sdName);
+ if (_sd == null) return;
+ _detElts = AbstractSegmenter.getLeaves(_sd.getDetectorElement());
Collections.sort(_detElts, new Comparator<IDetectorElement>() {
public int compare(IDetectorElement s1, IDetectorElement s2) {
return (int)Math.signum(s1.getGeometry().getPosition().z()-s2.getGeometry().getPosition().z());
@@ -200,12 +200,13 @@
rf = new RefFrameCartesian(new Transform3D(translation, _rot1), null, _u1, _v1, ConstHep3Vector.V001);
}
}
- return new Sensor(_detElts.get(postfix), postfixToID(postfix), type, rf);
+ return new Sensor(_sd, _detElts.get(postfix), postfixToID(postfix), type, rf);
}
// -- Private parts : ---------------------------------------------------------
String _sdName;
+ private Subdetector _sd;
private List<IDetectorElement> _detElts;
private int _nDisks;
lcsim/src/org/lcsim/contrib/onoprien/vsegment/geom/segmenter
diff -u -r1.1 -r1.2
--- DiskTrackerToWedgesSegmenter.java 3 Sep 2008 16:02:51 -0000 1.1
+++ DiskTrackerToWedgesSegmenter.java 25 Nov 2008 21:03:05 -0000 1.2
@@ -13,7 +13,7 @@
*
*
* @author D. Onoprienko
- * @version $Id: DiskTrackerToWedgesSegmenter.java,v 1.1 2008/09/03 16:02:51 onoprien Exp $
+ * @version $Id: DiskTrackerToWedgesSegmenter.java,v 1.2 2008/11/25 21:03:05 onoprien Exp $
*/
public class DiskTrackerToWedgesSegmenter extends DiskTrackerSegmenter {
@@ -59,7 +59,7 @@
boolean left = isInner(de);
- return new DiskToWedgesSegmenter(de, nRadialSlices, nPhiSlices, pitch, left);
+ return new DiskToWedgesSegmenter(_sd, de, nRadialSlices, nPhiSlices, pitch, left);
}
// -- Stereo partners : -------------------------------------------------------
CVSspam 0.2.8