From 22465e8da4e123c17a219f747044fcaf33edeafc Mon Sep 17 00:00:00 2001
From: Chengdong Fu <fucd@ihep.ac.cn>
Date: Wed, 21 Oct 2020 11:11:02 +0800
Subject: [PATCH] fix error on field unit
---
.../KalDet/src/ild/ftd/ILDFTDKalDetector.cc | 8 ++-----
.../KalDet/src/ild/set/ILDSETKalDetector.cc | 5 +++--
.../KalDet/src/ild/sit/ILDSITKalDetector.cc | 21 +++++++------------
.../src/ild/support/ILDSupportKalDetector.cc | 13 ++++++------
.../KalDet/src/ild/tpc/ILDTPCKalDetector.cc | 3 ++-
.../KalDet/src/ild/vxd/ILDVXDKalDetector.cc | 6 ++++--
6 files changed, 26 insertions(+), 30 deletions(-)
diff --git a/Utilities/KalDet/src/ild/ftd/ILDFTDKalDetector.cc b/Utilities/KalDet/src/ild/ftd/ILDFTDKalDetector.cc
index 799bddf9..06246a68 100644
--- a/Utilities/KalDet/src/ild/ftd/ILDFTDKalDetector.cc
+++ b/Utilities/KalDet/src/ild/ftd/ILDFTDKalDetector.cc
@@ -8,6 +8,7 @@
#include "DetInterface/IGeoSvc.h"
#include "DD4hep/Detector.h"
#include "DDRec/DetectorData.h"
+#include "DD4hep/DD4hepUnits.h"
#include "gear/GEAR.h"
#include "gear/BField.h"
@@ -29,7 +30,6 @@
ILDFTDKalDetector::ILDFTDKalDetector( const gear::GearMgr& gearMgr, IGeoSvc* geoSvc ) :
TVKalDetector(300), _nDisks(0) // SJA:FIXME initial size, 300 looks reasonable for ILD, though this would be better stored as a const somewhere
{
-
// streamlog_out(DEBUG1) << "ILDFTDKalDetector building FTD detector using GEAR " << std::endl ;
MaterialDataBase::Instance().registerForService(gearMgr, geoSvc);
@@ -41,15 +41,11 @@ TVKalDetector(300), _nDisks(0) // SJA:FIXME initial size, 300 looks reasonable f
}
this->build_staggered_design();
-
SetOwner();
}
-
-
-
void ILDFTDKalDetector::build_staggered_design() {
// streamlog_out(DEBUG) << "ILDFTDKalDetector::build_staggered_design " << std::endl;
@@ -532,7 +528,7 @@ void ILDFTDKalDetector::setupGearGeom( IGeoSvc* geoSvc ){
}
const dd4hep::Direction& field = geoSvc->lcdd()->field().magneticField(dd4hep::Position(0,0,0));
- _bZ = field.z();
+ _bZ = field.z()/dd4hep::tesla;
double strip_angle_deg = ftdData->angleStrip/CLHEP::degree;
bool strip_angle_present = true;
diff --git a/Utilities/KalDet/src/ild/set/ILDSETKalDetector.cc b/Utilities/KalDet/src/ild/set/ILDSETKalDetector.cc
index f1f7c675..e1c0dee1 100644
--- a/Utilities/KalDet/src/ild/set/ILDSETKalDetector.cc
+++ b/Utilities/KalDet/src/ild/set/ILDSETKalDetector.cc
@@ -20,6 +20,7 @@
#include "gearimpl/Util.h"
#include "CLHEP/Units/SystemOfUnits.h"
+#include "DD4hep/DD4hepUnits.h"
#include "TMath.h"
#include "math.h"
@@ -46,7 +47,7 @@ ILDSETKalDetector::ILDSETKalDetector( const gear::GearMgr& gearMgr, IGeoSvc* geo
else{
setupGearGeom( gearMgr );
}
-
+
if (_isStripDetector) {
// streamlog_out(DEBUG4) << "\t\t building SET detector as STRIP Detector." << std::endl ;
} else {
@@ -311,7 +312,7 @@ void ILDSETKalDetector::setupGearGeom( IGeoSvc* geoSvc ){
}
const dd4hep::Direction& field = geoSvc->lcdd()->field().magneticField(dd4hep::Position(0,0,0));
- _bZ = field.z();
+ _bZ = field.z()/dd4hep::tesla;
std::vector<dd4hep::rec::ZPlanarData::LayerLayout>& setlayers = setData->layers;
_nLayers = setlayers.size();
diff --git a/Utilities/KalDet/src/ild/sit/ILDSITKalDetector.cc b/Utilities/KalDet/src/ild/sit/ILDSITKalDetector.cc
index 1c409d64..b63364d1 100644
--- a/Utilities/KalDet/src/ild/sit/ILDSITKalDetector.cc
+++ b/Utilities/KalDet/src/ild/sit/ILDSITKalDetector.cc
@@ -13,6 +13,7 @@
#include "DD4hep/Detector.h"
#include "DDRec/DetectorData.h"
#include "CLHEP/Units/SystemOfUnits.h"
+#include "DD4hep/DD4hepUnits.h"
#include <gear/GEAR.h>
#include "gear/BField.h"
@@ -30,28 +31,26 @@
ILDSITKalDetector::ILDSITKalDetector( const gear::GearMgr& gearMgr, IGeoSvc* geoSvc )
: TVKalDetector(300) // SJA:FIXME initial size, 300 looks reasonable for ILD, though this would be better stored as a const somewhere
{
+ // std::cout << "ILDSITKalDetector building SIT detector using GEAR " << std::endl ;
-
- // streamlog_out(DEBUG4) << "ILDSITKalDetector building SIT detector using GEAR " << std::endl ;
-
MaterialDataBase::Instance().registerForService(gearMgr, geoSvc);
TMaterial & air = *MaterialDataBase::Instance().getMaterial("air");
TMaterial & silicon = *MaterialDataBase::Instance().getMaterial("silicon");
TMaterial & carbon = *MaterialDataBase::Instance().getMaterial("carbon");
+
if(geoSvc){
this->setupGearGeom(geoSvc);
}
else{
this->setupGearGeom(gearMgr) ;
}
-
+
if (_isStripDetector) {
// streamlog_out(DEBUG4) << "\t\t building SIT detector as STRIP Detector." << std::endl ;
} else {
// streamlog_out(DEBUG4) << "\t\t building SIT detector as PIXEL Detector." << std::endl ;
}
-
//--The Ladder structure (realistic ladder)--
int nLadders;
@@ -141,9 +140,7 @@ ILDSITKalDetector::ILDSITKalDetector( const gear::GearMgr& gearMgr, IGeoSvc* geo
}
- // streamlog_out(DEBUG0) << "ILDSITKalDetector add surface with CellID = "
- // << CellID
- // << std::endl ;
+ //std::cout << "ILDSITKalDetector add surface with CellID = " << CellID << std::endl ;
}
@@ -187,10 +184,8 @@ ILDSITKalDetector::ILDSITKalDetector( const gear::GearMgr& gearMgr, IGeoSvc* geo
Add(new ILDParallelPlanarMeasLayer(silicon, silicon, sensitive_distance+sensitive_thickness*0.5, currPhi, _bZ, measurement_plane_sorting_policy, width, sensor_length, offset, z_centre_sensor, offset, true, CellID, "SITMeaslayer" )) ;
}
-
- // streamlog_out(DEBUG0) << "ILDSITKalDetector add surface with CellID = "
- // << CellID
- // << std::endl ;
+
+ //std::cout << "ILDSITKalDetector add surface with CellID = " << CellID << std::endl ;
}
@@ -312,7 +307,7 @@ void ILDSITKalDetector::setupGearGeom( IGeoSvc* geoSvc ){
}
const dd4hep::Direction& field = geoSvc->lcdd()->field().magneticField(dd4hep::Position(0,0,0));
- _bZ = field.z();
+ _bZ = field.z()/dd4hep::tesla;
std::vector<dd4hep::rec::ZPlanarData::LayerLayout>& sitlayers = sitData->layers;
_nLayers = sitlayers.size();
diff --git a/Utilities/KalDet/src/ild/support/ILDSupportKalDetector.cc b/Utilities/KalDet/src/ild/support/ILDSupportKalDetector.cc
index 98a6f247..c3bd0c5f 100644
--- a/Utilities/KalDet/src/ild/support/ILDSupportKalDetector.cc
+++ b/Utilities/KalDet/src/ild/support/ILDSupportKalDetector.cc
@@ -19,6 +19,7 @@
#include "DD4hep/Detector.h"
#include "DDRec/DetectorData.h"
#include "CLHEP/Units/SystemOfUnits.h"
+#include "DD4hep/DD4hepUnits.h"
#include "gear/GEAR.h"
#include "gear/BField.h"
@@ -37,11 +38,11 @@ TVKalDetector(10)
const dd4hep::rec::ConicalSupportData* pBeamPipeData = geoSvc->getBeamPipeData();
const std::vector<dd4hep::rec::ConicalSupportData::Section>& sections = pBeamPipeData->sections;
const dd4hep::Direction& field = geoSvc->lcdd()->field().magneticField(dd4hep::Position(0,0,0));
- bz = field.z();
+ bz = field.z()/dd4hep::tesla;
for(int i=0;i<sections.size();i++){
- z.push_back(sections[i].zPos);
- rInner.push_back(sections[i].rInner);
- rOuter.push_back(sections[i].rOuter);
+ z.push_back(sections[i].zPos*CLHEP::cm );
+ rInner.push_back(sections[i].rInner*CLHEP::cm );
+ rOuter.push_back(sections[i].rOuter*CLHEP::cm );
}
}
else{
@@ -54,8 +55,8 @@ TVKalDetector(10)
rInner = pBeamPipe.getDoubleVals("RInner"); //inner radius of the cone
rOuter = pBeamPipe.getDoubleVals("ROuter"); //outer radius of the cone
}
- //for(int i=0;i<sections.size();i++){
- // std::cout << z[i] << " " << rInner[i] << " " << rOuter[i] << std::endl;
+ //for(int i=0;i<z.size();i++){
+ //std::cout << z[i] << " " << rInner[i] << " " << rOuter[i] << std::endl;
//}
MaterialDataBase::Instance().registerForService(gearMgr, geoSvc);
TMaterial & beam = *MaterialDataBase::Instance().getMaterial("beam");
diff --git a/Utilities/KalDet/src/ild/tpc/ILDTPCKalDetector.cc b/Utilities/KalDet/src/ild/tpc/ILDTPCKalDetector.cc
index fbb5f380..3f36963f 100644
--- a/Utilities/KalDet/src/ild/tpc/ILDTPCKalDetector.cc
+++ b/Utilities/KalDet/src/ild/tpc/ILDTPCKalDetector.cc
@@ -14,6 +14,7 @@
#include "DD4hep/Detector.h"
#include "DDRec/DetectorData.h"
#include "CLHEP/Units/SystemOfUnits.h"
+#include "DD4hep/DD4hepUnits.h"
#include "gear/GEAR.h"
#include "gear/BField.h"
@@ -52,7 +53,7 @@ TVKalDetector(250) // SJA:FIXME initial size, 250 looks reasonable for ILD, thou
}
const dd4hep::Direction& field = geoSvc->lcdd()->field().magneticField(dd4hep::Position(0,0,0));
- bz = field.z();
+ bz = field.z()/dd4hep::tesla;
nlayers = tpcData->maxRow;
lhalf = tpcData->driftLength*CLHEP::cm;
rstep = tpcData->padHeight*CLHEP::cm;
diff --git a/Utilities/KalDet/src/ild/vxd/ILDVXDKalDetector.cc b/Utilities/KalDet/src/ild/vxd/ILDVXDKalDetector.cc
index edf608f8..cebb37ef 100644
--- a/Utilities/KalDet/src/ild/vxd/ILDVXDKalDetector.cc
+++ b/Utilities/KalDet/src/ild/vxd/ILDVXDKalDetector.cc
@@ -14,6 +14,7 @@
#include "DD4hep/Detector.h"
#include "DDRec/DetectorData.h"
#include "CLHEP/Units/SystemOfUnits.h"
+#include "DD4hep/DD4hepUnits.h"
#include <gear/GEAR.h>
#include "gear/BField.h"
@@ -48,13 +49,14 @@ ILDVXDKalDetector::ILDVXDKalDetector( const gear::GearMgr& gearMgr, IGeoSvc* geo
TMaterial & aluminium = *MaterialDataBase::Instance().getMaterial("aluminium");
_vxd_Cryostat.exists = false;
-
+
if(geoSvc){
this->setupGearGeom(geoSvc) ;
}
else{
this->setupGearGeom(gearMgr) ;
}
+
//--The Ladder structure (realistic ladder)--
int nLadders;
@@ -398,7 +400,7 @@ void ILDVXDKalDetector::setupGearGeom( IGeoSvc* geoSvc){
}
*/
const dd4hep::Direction& field = geoSvc->lcdd()->field().magneticField(dd4hep::Position(0,0,0));
- _bZ = field.z();
+ _bZ = field.z()/dd4hep::tesla;
const gear::ZPlanarParametersImpl* pVXDDetMain = geoSvc->getVXDParameters();
const gear::VXDLayerLayout& pVXDLayerLayout = pVXDDetMain->getVXDLayerLayout();
--
GitLab