Skip to content
Snippets Groups Projects
Commit ab0a46e0 authored by FU Chengdong's avatar FU Chengdong
Browse files

optional symmetry

parent faa35be5
No related branches found
No related tags found
No related merge requests found
...@@ -46,11 +46,11 @@ using dd4hep::rec::LayeredCalorimeterData; ...@@ -46,11 +46,11 @@ using dd4hep::rec::LayeredCalorimeterData;
// After reading in all the necessary parameters. // After reading in all the necessary parameters.
// To check the radius range and the space for placing the total layers // To check the radius range and the space for placing the total layers
static bool validateEnvelope(double rInner, double rOuter, double radiatorThickness, double layerThickness, int layerNumber){ static bool validateEnvelope(double rInner, double rOuter, double radiatorThickness, double layerThickness, int layerNumber, int symmetry){
bool Error = false; bool Error = false;
bool Warning = false; bool Warning = false;
double spaceAllowed = rOuter*cos(M_PI/16.) - rInner; double spaceAllowed = rOuter*cos(M_PI/symmetry) - rInner;
double spaceNeeded = (radiatorThickness + layerThickness)* layerNumber; double spaceNeeded = (radiatorThickness + layerThickness)* layerNumber;
double spaceToleranted = (radiatorThickness + layerThickness)* (layerNumber+1); double spaceToleranted = (radiatorThickness + layerThickness)* (layerNumber+1);
double rOuterRecommaned = ( rInner + spaceNeeded )/cos(M_PI/16.); double rOuterRecommaned = ( rInner + spaceNeeded )/cos(M_PI/16.);
...@@ -59,17 +59,17 @@ static bool validateEnvelope(double rInner, double rOuter, double radiatorThickn ...@@ -59,17 +59,17 @@ static bool validateEnvelope(double rInner, double rOuter, double radiatorThickn
if( spaceNeeded > spaceAllowed ) if( spaceNeeded > spaceAllowed )
{ {
printout( dd4hep::ERROR, "SHcalSc04_Barrel_v01", " Layer number is more than it can be built! " ) ; printout( dd4hep::ERROR, "SHcalSc04_Barrel_v04", " Layer number is more than it can be built! " ) ;
Error = true; Error = true;
} }
else if ( spaceToleranted < spaceAllowed ) else if ( spaceToleranted < spaceAllowed )
{ {
printout( dd4hep::WARNING, "SHcalSc04_Barrel_v01", " Layer number is less than it is able to build!" ) ; printout( dd4hep::WARNING, "SHcalSc04_Barrel_v04", " Layer number is less than it is able to build!" ) ;
Warning = true; Warning = true;
} }
else else
{ {
printout( dd4hep::DEBUG, "SHcalSc04_Barrel_v01"," has been validated and start to build it." ) ; printout( dd4hep::DEBUG, "SHcalSc04_Barrel_v04"," has been validated and start to build it." ) ;
Error = false; Error = false;
Warning = false; Warning = false;
} }
...@@ -179,13 +179,8 @@ static Ref_t create_detector(Detector& theDetector, xml_h element, SensitiveDete ...@@ -179,13 +179,8 @@ static Ref_t create_detector(Detector& theDetector, xml_h element, SensitiveDete
int Hcal_nlayers = theDetector.constant<int>("Hcal_nlayers"); int Hcal_nlayers = theDetector.constant<int>("Hcal_nlayers");
double TPC_outer_radius = theDetector.constant<double>("TPC_outer_radius"); printout( dd4hep::INFO, "SHcalSc04_Barrel_v04", "Hcal_inner_radius : %e - Hcal_outer_radius %e ", Hcal_inner_radius , Hcal_outer_radius);
validateEnvelope(Hcal_inner_radius, Hcal_outer_radius, Hcal_radiator_thickness, Hcal_chamber_thickness, Hcal_nlayers, Hcal_inner_symmetry);
double Ecal_outer_radius = theDetector.constant<double>("Ecal_outer_radius");
printout( dd4hep::DEBUG, "SHcalSc04_Barrel_v04", "TPC_outer_radius : %e - Ecal_outer_radius: %e ", TPC_outer_radius , Ecal_outer_radius) ;
validateEnvelope(Hcal_inner_radius, Hcal_outer_radius, Hcal_radiator_thickness, Hcal_chamber_thickness, Hcal_nlayers);
Readout readout = sens.readout(); Readout readout = sens.readout();
dd4hep::Segmentation seg = readout.segmentation(); dd4hep::Segmentation seg = readout.segmentation();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment