#include <CalGeometrySvc.h>
Inheritance diagram for CalGeometrySvc::
Public Methods | |
CalGeometrySvc (const std::string &name, ISvcLocator *pSvcLocator) | |
Constructor of this form must be provided. More... | |
virtual | ~CalGeometrySvc () |
StatusCode | initialize () |
StatusCode | finalize () |
int | numModulesX () |
int | numModulesY () |
int | numViews () |
int | numLayers () |
int | numLogs () |
double | moduleWidth () |
double | Z0 () |
double | layerWidth () |
double | layerHeight () |
double | logWidth () |
double | logHeight () |
double | logLength () |
double | logGap () |
double | light_att () |
CalDetGeo | getLayer (int ilayer, CalDetGeo::axis a) |
CalDetGeo | getLog (int ilayer, CalDetGeo::axis a, int ilog) |
CalDetGeo | getLog (int ilayer, CalDetGeo::axis a, int ilog, idents::ModuleId mod) |
StatusCode | queryInterface (const IID &riid, void **ppvUnknown) |
queryInterface - for implementing a Service this is necessary. More... | |
const IID & | type () const |
return the service type. More... | |
Static Public Methods | |
const InterfaceID & | interfaceID () |
Private Attributes | |
int | m_geoType |
int | m_balloonFlight |
int | m_nmodx |
int | m_nmody |
int | m_nviews |
int | m_nlayers |
int | m_nLogs |
double | m_modWidth |
double | m_Z0 |
double | m_layerWidth |
double | m_layerHeight |
double | m_logWidth |
double | m_logLength |
double | m_logHeight |
double | m_logGap |
double | m_latt |
|
Constructor of this form must be provided.
Definition at line 11 of file CalGeometrySvc.cpp. References m_balloonFlight, m_geoType, m_latt, m_layerHeight, m_layerWidth, m_logGap, m_logHeight, m_logLength, m_logWidth, m_nlayers, m_nLogs, m_nmodx, m_nmody, m_nviews, and m_Z0.
00013 :Service(name, pSvcLocator) 00014 { 00015 declareProperty("geometryType", m_geoType = 0); 00016 declareProperty("balloonFlight", m_balloonFlight = 0); 00017 00018 00019 00020 // testbeam geometry (default) 00021 00022 00023 m_nviews = 2; 00024 m_nlayers = 4; 00025 m_nLogs = 10; 00026 m_nmodx = 1; 00027 m_nmody = 1; 00028 00029 // testbeam geometry 00030 m_Z0 = -25.9602; 00031 00032 00033 m_layerWidth = 31.05; 00034 m_layerHeight = 2.614; 00035 00036 m_logWidth = 3.05; 00037 m_logLength = 31.05; 00038 m_logHeight = 2.35; 00039 m_logGap = 0.06; 00040 m_latt = 0.35; 00041 00042 00043 00044 00045 00046 00047 } |
|
Definition at line 33 of file CalGeometrySvc.h.
00033 {} |
|
Definition at line 122 of file CalGeometrySvc.cpp.
00124 { 00125 return StatusCode::SUCCESS; 00126 } |
|
Reimplemented from ICalGeometrySvc. Definition at line 132 of file CalGeometrySvc.cpp. References CalAxis::axis, and CalAxis::Y.
00134 { 00135 double xpos = 0.; 00136 double ypos = 0.; 00137 double zfar = 0.; 00138 if (a == CalDetGeo::Y) zfar = layerHeight(); 00139 double zpos = Z0()+2.*ilayer*layerHeight()+zfar; 00140 00141 double xsize = layerWidth(); 00142 double ysize = layerWidth(); 00143 double zsize = layerHeight(); 00144 00145 Point P(xpos,ypos,zpos); 00146 Point S(0.5*xsize,0.5*ysize,0.5*zsize); 00147 00148 CalDetGeo layer(ilayer,a,ilayer,P,S); 00149 return layer; 00150 } |
|
Reimplemented from ICalGeometrySvc. Definition at line 152 of file CalGeometrySvc.cpp. References CalAxis::axis, CalGeo::position(), and CalGeo::setPosition().
00154 { 00155 00156 double xmod = (mod.ix()-(m_nmodx+1)*0.5)*m_modWidth; 00157 double ymod = (mod.iy()-(m_nmody+1)*0.5)*m_modWidth; 00158 Vector modcenter(xmod,ymod,0); 00159 CalDetGeo log = getLog(ilayer, a, ilog); 00160 log.setPosition(log.position()+modcenter); 00161 return log; 00162 } |
|
Reimplemented from ICalGeometrySvc. Definition at line 164 of file CalGeometrySvc.cpp. References CalAxis::axis, CalGeo::position(), and CalAxis::X.
00166 { 00167 CalDetGeo layer = getLayer(ilayer,a); 00168 double xpos = layer.position().x(); 00169 double ypos = layer.position().y(); 00170 double zpos = layer.position().z(); 00171 00172 int nlogs = numLogs(); 00173 double posRef = -0.5*(nlogs-1)*(logWidth()+logGap()); 00174 double pos = posRef+ilog*(logWidth()+logGap()); 00175 if (fabs(pos) < 1e-5) pos =0.; 00176 if (a == CalDetGeo::X) xpos = pos; 00177 else ypos = pos; 00178 00179 double xsize = logLength(); 00180 double ysize = logLength(); 00181 if (a == CalDetGeo::X) xsize = logWidth(); 00182 else ysize = logWidth(); 00183 double zsize = logHeight(); 00184 00185 Point P(xpos,ypos,zpos); 00186 Point S(0.5*xsize,0.5*ysize,0.5*zsize); 00187 00188 CalDetGeo log(ilayer,a,ilog,P,S); 00189 00190 return log; 00191 } |
|
Definition at line 51 of file CalGeometrySvc.cpp.
00053 { 00054 StatusCode sc = StatusCode::SUCCESS; 00055 Service::initialize(); 00056 setProperties(); 00057 00058 // balloon flight geometry 00059 if (m_geoType == 0 && m_balloonFlight == 1) m_Z0 = -24.346; 00060 00061 if (m_geoType == 1) 00062 { 00063 00064 // Flight geometry, compressed cell design 00065 m_nviews = 2; 00066 m_nlayers = 4; 00067 m_nLogs = 12; 00068 m_nmodx = 4; 00069 m_nmody = 4; 00070 00071 m_modWidth = 39.37; 00072 m_Z0 = -34.094; 00073 00074 m_layerWidth = 36.99; 00075 m_layerHeight = 2.446; 00076 00077 m_logWidth = 3.00; 00078 m_logLength = 36.99; 00079 m_logHeight = 2.10; 00080 m_logGap = 0.084; 00081 m_latt = 0.35; 00082 00083 } 00084 else if (m_geoType == 2) 00085 { 00086 00087 // Flight geometry, carbon cell design 00088 m_nviews = 2; 00089 m_nlayers = 4; 00090 m_nLogs = 12; 00091 m_nmodx = 4; 00092 m_nmody = 4; 00093 00094 // m_modWidth = 37.35; 00095 00096 // after grid design modification m_modWidth became 00097 m_modWidth = 37.45; 00098 00099 // m_Z0 = -32.1425; 00100 // after tracker geometry modification m_Z0 became 00101 // m_Z0 = -32.7756; 00102 00103 // after grid design modification m_Z0 became 00104 00105 m_Z0 = -30.9176; 00106 00107 m_layerWidth = 33.3; 00108 m_layerHeight = 2.139; 00109 00110 m_logWidth = 2.6714; 00111 m_logLength = 33.3; 00112 m_logHeight = 1.99; 00113 m_logGap = 0.113; 00114 m_latt = 0.35; 00115 00116 } 00117 return sc; 00118 } |
|
Reimplemented from ICalGeometrySvc. Definition at line 67 of file CalGeometrySvc.h. References ICalGeometrySvc::interfaceID().
00067 { return ICalGeometrySvc::interfaceID(); } |
|
Reimplemented from ICalGeometrySvc. Definition at line 49 of file CalGeometrySvc.h. References m_layerHeight.
00049 {return m_layerHeight;} |
|
Reimplemented from ICalGeometrySvc. Definition at line 48 of file CalGeometrySvc.h. References m_layerWidth.
00048 {return m_layerWidth;} |
|
Reimplemented from ICalGeometrySvc. Definition at line 55 of file CalGeometrySvc.h. References CalAxis::axis, and m_latt.
00055 {return m_latt;} |
|
Reimplemented from ICalGeometrySvc. Definition at line 54 of file CalGeometrySvc.h. References m_logGap.
00054 {return m_logGap;} |
|
Reimplemented from ICalGeometrySvc. Definition at line 52 of file CalGeometrySvc.h. References m_logHeight.
00052 {return m_logHeight;} |
|
Reimplemented from ICalGeometrySvc. Definition at line 53 of file CalGeometrySvc.h. References m_logLength.
00053 {return m_logLength;} |
|
Reimplemented from ICalGeometrySvc. Definition at line 51 of file CalGeometrySvc.h. References m_logWidth.
00051 {return m_logWidth;} |
|
Reimplemented from ICalGeometrySvc. Definition at line 46 of file CalGeometrySvc.h. References m_modWidth.
00046 {return m_modWidth;} |
|
Reimplemented from ICalGeometrySvc. Definition at line 43 of file CalGeometrySvc.h. References m_nlayers.
00043 {return m_nlayers;} |
|
Reimplemented from ICalGeometrySvc. Definition at line 44 of file CalGeometrySvc.h. References m_nLogs.
00044 {return m_nLogs;} |
|
Reimplemented from ICalGeometrySvc. Definition at line 40 of file CalGeometrySvc.h. References m_nmodx.
00040 {return m_nmodx;} |
|
Reimplemented from ICalGeometrySvc. Definition at line 41 of file CalGeometrySvc.h. References m_nmody.
00041 {return m_nmody;} |
|
Reimplemented from ICalGeometrySvc. Definition at line 42 of file CalGeometrySvc.h. References m_nviews.
00042 {return m_nviews;} |
|
queryInterface - for implementing a Service this is necessary.
Definition at line 194 of file CalGeometrySvc.cpp.
00195 { 00196 if (IID_ICalGeometrySvc == riid) { 00197 *ppvIF = dynamic_cast<ICalGeometrySvc*> (this); 00198 return StatusCode::SUCCESS; 00199 } 00200 else { 00201 return Service::queryInterface (riid, ppvIF); 00202 } 00203 } |
|
return the service type.
Definition at line 206 of file CalGeometrySvc.cpp.
00206 { 00207 return IID_ICalGeometrySvc; 00208 } |
|
Reimplemented from ICalGeometrySvc. Definition at line 47 of file CalGeometrySvc.h. References m_Z0.
00047 {return m_Z0;} |
|
Definition at line 74 of file CalGeometrySvc.h. Referenced by CalGeometrySvc(). |
|
Definition at line 73 of file CalGeometrySvc.h. Referenced by CalGeometrySvc(). |
|
Definition at line 93 of file CalGeometrySvc.h. Referenced by CalGeometrySvc(), and light_att(). |
|
Definition at line 87 of file CalGeometrySvc.h. Referenced by CalGeometrySvc(), and layerHeight(). |
|
Definition at line 86 of file CalGeometrySvc.h. Referenced by CalGeometrySvc(), and layerWidth(). |
|
Definition at line 92 of file CalGeometrySvc.h. Referenced by CalGeometrySvc(), and logGap(). |
|
Definition at line 91 of file CalGeometrySvc.h. Referenced by CalGeometrySvc(), and logHeight(). |
|
Definition at line 90 of file CalGeometrySvc.h. Referenced by CalGeometrySvc(), and logLength(). |
|
Definition at line 89 of file CalGeometrySvc.h. Referenced by CalGeometrySvc(), and logWidth(). |
|
Definition at line 82 of file CalGeometrySvc.h. Referenced by moduleWidth(). |
|
Definition at line 79 of file CalGeometrySvc.h. Referenced by CalGeometrySvc(), and numLayers(). |
|
Definition at line 80 of file CalGeometrySvc.h. Referenced by CalGeometrySvc(), and numLogs(). |
|
Definition at line 76 of file CalGeometrySvc.h. Referenced by CalGeometrySvc(), and numModulesX(). |
|
Definition at line 77 of file CalGeometrySvc.h. Referenced by CalGeometrySvc(), and numModulesY(). |
|
Definition at line 78 of file CalGeometrySvc.h. Referenced by CalGeometrySvc(), and numViews(). |
|
Definition at line 84 of file CalGeometrySvc.h. Referenced by CalGeometrySvc(), and Z0(). |