slicPandora/include
diff -u -r1.1 -r1.2
--- SiDPandoraPFAGeometry.h 9 Jan 2010 00:38:29 -0000 1.1
+++ SiDPandoraPFAGeometry.h 9 Feb 2010 00:05:32 -0000 1.2
@@ -24,11 +24,22 @@
void printOut(const char* subdetType, PandoraApi::GeometryParameters::SubDetectorParameters* subdet);
+ // Extra subdetector parameters, including cell sizes.
+ class ExtraSubDetectorParameters
+ {
+ public:
+ pandora::InputFloat m_cellSizeU;
+ pandora::InputFloat m_cellSizeV;
+ };
+
+ typedef std::map<std::string, ExtraSubDetectorParameters> ExtraSubDetectorParametersMap;
+
private:
PandoraApi::GeometryParameters::SubDetectorParameters* getSubDetectorFromType( const char* );
private:
PandoraApi::Geometry::Parameters geom;
+ ExtraSubDetectorParametersMap subdetExtras;
};
slicPandora/src
diff -u -r1.1 -r1.2
--- SiDPandoraPFAGeometry.cpp 13 Jan 2010 01:50:24 -0000 1.1
+++ SiDPandoraPFAGeometry.cpp 9 Feb 2010 00:05:33 -0000 1.2
@@ -95,6 +95,17 @@
// Dump subdetector parameters to screen.
printOut( subdetType, subdet);
+
+ // Add cell size information to extras map.
+ ExtraSubDetectorParameters extras;
+ int cellSizeU = 0;
+ int cellSizeV = 0;
+ calElem->QueryIntAttribute( "cellSizeU", &cellSizeU );
+ calElem->QueryIntAttribute( "cellSizeV", &cellSizeV );
+ extras.m_cellSizeU = cellSizeU;
+ extras.m_cellSizeV = cellSizeV;
+ std::string subdetTypeStr( subdetType );
+ subdetExtras[subdetTypeStr] = extras;
}
// Tracking parameters.
@@ -108,6 +119,7 @@
geom.m_mainTrackerOuterRadius = touterR;
geom.m_mainTrackerZExtent = tz;
+ // Print tracking.
printf( "Tracking: \n");
printf( " mainTrackerInnerRadius: %f\n", geom.m_mainTrackerInnerRadius.Get() );
printf( " mainTrackerOuterRadius: %f\n", geom.m_mainTrackerOuterRadius.Get() );
@@ -127,6 +139,7 @@
geom.m_coilZExtent = cz;
geom.m_bField = bfield;
+ // Print coil and field.
printf( "Coil: \n");
printf( " coilInnerRadius: %f\n", geom.m_coilInnerRadius.Get() );
printf( " coilOuterRadius: %f\n", geom.m_coilOuterRadius.Get() );