00001 #ifndef HcalAlgo_DDHCalTBZposAlgo_h 00002 #define HcalAlgo_DDHCalTBZposAlgo_h 00003 00004 #include <map> 00005 #include <string> 00006 #include <vector> 00007 #include "DetectorDescription/Base/interface/DDTypes.h" 00008 #include "DetectorDescription/Algorithm/interface/DDAlgorithm.h" 00009 00010 class DDHCalTBZposAlgo : public DDAlgorithm { 00011 public: 00012 //Constructor and Destructor 00013 DDHCalTBZposAlgo(); 00014 virtual ~DDHCalTBZposAlgo(); 00015 00016 void initialize(const DDNumericArguments & nArgs, 00017 const DDVectorArguments & vArgs, 00018 const DDMapArguments & mArgs, 00019 const DDStringArguments & sArgs, 00020 const DDStringVectorArguments & vsArgs); 00021 00022 void execute(DDCompactView& cpv); 00023 00024 private: 00025 00026 double eta; //Eta at which beam is focussed 00027 double theta; //Corresponding theta value 00028 double shiftY; //Shift along Y 00029 double shiftX; //Shift along X 00030 double zoffset; //Offset in z 00031 double dist; //Radial distance 00032 double tilt; //Tilt with respect to y-axis 00033 int copyNumber; //Copy Number 00034 00035 std::string idNameSpace; //Namespace of this and ALL sub-parts 00036 std::string childName; //Children name 00037 }; 00038 00039 #endif