00001
00002 #include "FarDetShieldPlankHandle.h"
00003
00004 ClassImp(FarDetShieldPlankHandle)
00005
00006 FarDetShieldPlankHandle::FarDetShieldPlankHandle()
00007 {
00008
00009 }
00010
00011 FarDetShieldPlankHandle::FarDetShieldPlankHandle(const FarDetShieldPlankHandle& csh) :
00012 CandHandle(csh)
00013 {
00014
00015 }
00016
00017 FarDetShieldPlankHandle::FarDetShieldPlankHandle(FarDetShieldPlank* cs) :
00018 CandHandle(cs)
00019 {
00020
00021 }
00022
00023 FarDetShieldPlankHandle::~FarDetShieldPlankHandle()
00024 {
00025
00026 }
00027
00028 FarDetShieldPlankHandle* FarDetShieldPlankHandle::DupHandle() const
00029 {
00030 return (new FarDetShieldPlankHandle(*this));
00031 }
00032
00033 void FarDetShieldPlankHandle::Trace(const char* c) const
00034 {
00035 CandHandle::Trace(c);
00036 }
00037
00038 void FarDetShieldPlankHandle::SetSection(Int_t section)
00039 {
00040 dynamic_cast<FarDetShieldPlank*>(GetOwnedCandBase())->fSection=section;
00041 }
00042
00043 void FarDetShieldPlankHandle::SetSubSection(Int_t subsection)
00044 {
00045 dynamic_cast<FarDetShieldPlank*>(GetOwnedCandBase())->fSubSection=subsection;
00046 }
00047
00048 void FarDetShieldPlankHandle::SetPlane(Int_t plane)
00049 {
00050 dynamic_cast<FarDetShieldPlank*>(GetOwnedCandBase())->fPlane=plane;
00051 }
00052
00053 void FarDetShieldPlankHandle::SetPlank(Int_t plank)
00054 {
00055 dynamic_cast<FarDetShieldPlank*>(GetOwnedCandBase())->fPlank=plank;
00056 }
00057
00058 void FarDetShieldPlankHandle::SetNStrips(Int_t nstrips)
00059 {
00060 dynamic_cast<FarDetShieldPlank*>(GetOwnedCandBase())->fNStrips=nstrips;
00061 }
00062
00063 void FarDetShieldPlankHandle::SetGeomErrors(Int_t nerrors)
00064 {
00065 dynamic_cast<FarDetShieldPlank*>(GetOwnedCandBase())->fGeomErrors=nerrors;
00066 }
00067
00068 void FarDetShieldPlankHandle::SetX(Double_t X)
00069 {
00070 dynamic_cast<FarDetShieldPlank*>(GetOwnedCandBase())->fX=X;
00071 }
00072
00073 void FarDetShieldPlankHandle::SetY(Double_t Y)
00074 {
00075 dynamic_cast<FarDetShieldPlank*>(GetOwnedCandBase())->fY=Y;
00076 }
00077
00078 void FarDetShieldPlankHandle::SetZ(Double_t* Z)
00079 {
00080 FarDetShieldPlank* myplank = dynamic_cast<FarDetShieldPlank*>(GetOwnedCandBase());
00081 myplank->fZ[0]=Z[0];
00082 myplank->fZ[1]=Z[1];
00083 }
00084
00085 void FarDetShieldPlankHandle::SetTime(CalTimeType::CalTimeType_t caltype_t, Double_t* time)
00086 {
00087 FarDetShieldPlank* myplank = dynamic_cast<FarDetShieldPlank*>(GetOwnedCandBase());
00088
00089 switch (caltype_t) {
00090 case CalTimeType::kNone:
00091 myplank->fRawTime[0]=time[0];
00092 myplank->fRawTime[1]=time[1];
00093 myplank->fRawTime[2]=time[2];
00094 break;
00095 case CalTimeType::kT0:
00096 myplank->fCalTime[0]=time[0];
00097 myplank->fCalTime[1]=time[1];
00098 myplank->fCalTime[2]=time[2];
00099 break;
00100 default:
00101 break;
00102 }
00103 }
00104
00105 void FarDetShieldPlankHandle::SetCharge(CalDigitType::CalDigitType_t caltype_t,Double_t* charge)
00106 {
00107 FarDetShieldPlank* myplank = dynamic_cast<FarDetShieldPlank*>(GetOwnedCandBase());
00108 switch (caltype_t) {
00109 case CalDigitType::kNone:
00110 myplank->fChargeNone[0]=charge[0];
00111 myplank->fChargeNone[1]=charge[1];
00112 break;
00113 case CalDigitType::kPE:
00114 myplank->fChargePE[0]=charge[0];
00115 myplank->fChargePE[1]=charge[1];
00116 break;
00117 default:
00118 break;
00119 }
00120 }
00121
00122 void FarDetShieldPlankHandle::SetFibreLengths(Double_t* green, Double_t* wls, Double_t* clear, Double_t half)
00123 {
00124 FarDetShieldPlank* myplank = dynamic_cast<FarDetShieldPlank*>(GetOwnedCandBase());
00125 for(Int_t i=0;i<2;i++){
00126 myplank->fGreenFibre[i]=green[i];
00127 myplank->fWlsPigtail[i]=wls[i];
00128 myplank->fClearFibre[i]=clear[i];
00129 }
00130 myplank->fHalfLength = half;
00131 }
00132
00133 Int_t FarDetShieldPlankHandle::GetSection() const
00134 {
00135 return dynamic_cast<const FarDetShieldPlank*>(GetCandBase())->fSection;
00136 }
00137
00138 Int_t FarDetShieldPlankHandle::GetSubSection() const
00139 {
00140 return dynamic_cast<const FarDetShieldPlank*>(GetCandBase())->fSubSection;
00141 }
00142
00143 Int_t FarDetShieldPlankHandle::GetPlane() const
00144 {
00145 return dynamic_cast<const FarDetShieldPlank*>(GetCandBase())->fPlane;
00146 }
00147
00148 Int_t FarDetShieldPlankHandle::GetPlank() const
00149 {
00150 return dynamic_cast<const FarDetShieldPlank*>(GetCandBase())->fPlank;
00151 }
00152
00153 Int_t FarDetShieldPlankHandle::GetNStrips() const
00154 {
00155 return dynamic_cast<const FarDetShieldPlank*>(GetCandBase())->fNStrips;
00156 }
00157
00158 Int_t FarDetShieldPlankHandle::GetGeomErrors() const
00159 {
00160 return dynamic_cast<const FarDetShieldPlank*>(GetCandBase())->fGeomErrors;
00161 }
00162
00163 Double_t FarDetShieldPlankHandle::GetX() const
00164 {
00165 return dynamic_cast<const FarDetShieldPlank*>(GetCandBase())->fX;
00166 }
00167
00168 Double_t FarDetShieldPlankHandle::GetY() const
00169 {
00170 return dynamic_cast<const FarDetShieldPlank*>(GetCandBase())->fY;
00171 }
00172
00173 Double_t FarDetShieldPlankHandle::GetZ(StripEnd::StripEnd_t stripend_t) const
00174 {
00175 const FarDetShieldPlank* myplank = dynamic_cast<const FarDetShieldPlank*>(GetCandBase());
00176 switch (stripend_t) {
00177 case StripEnd::kNegative:
00178 return myplank->fZ[0];
00179 break;
00180 case StripEnd::kPositive:
00181 return myplank->fZ[1];
00182 break;
00183 default:
00184 return 0.0;
00185 break;
00186 }
00187 }
00188
00189 Double_t FarDetShieldPlankHandle::GetTime() const
00190 {
00191 return this->GetTime(StripEnd::kWhole,CalTimeType::kT0);
00192 }
00193
00194 Double_t FarDetShieldPlankHandle::GetTime(StripEnd::StripEnd_t stripend_t) const
00195 {
00196 return this->GetTime(stripend_t,CalTimeType::kT0);
00197 }
00198
00199 Double_t FarDetShieldPlankHandle::GetTime(CalTimeType::CalTimeType_t caltype_t) const
00200 {
00201 return this->GetTime(StripEnd::kWhole,caltype_t);
00202 }
00203
00204 Double_t FarDetShieldPlankHandle::GetTime(StripEnd::StripEnd_t stripend_t,CalTimeType::CalTimeType_t caltype_t) const
00205 {
00206 const FarDetShieldPlank* myplank = dynamic_cast<const FarDetShieldPlank*>(GetCandBase());
00207
00208 Double_t time[3];
00209
00210 switch (caltype_t) {
00211 case CalTimeType::kNone:
00212 time[0] = myplank->fRawTime[0];
00213 time[1] = myplank->fRawTime[1];
00214 time[2] = myplank->fRawTime[2];
00215 break;
00216 case CalTimeType::kT0:
00217 time[0] = myplank->fCalTime[0];
00218 time[1] = myplank->fCalTime[1];
00219 time[2] = myplank->fCalTime[2];
00220 break;
00221 default:
00222 time[0] = myplank->fCalTime[0];
00223 time[1] = myplank->fCalTime[1];
00224 time[2] = myplank->fCalTime[2];
00225 break;
00226 }
00227
00228 switch (stripend_t) {
00229 case StripEnd::kNegative:
00230 return time[0];
00231 break;
00232 case StripEnd::kPositive:
00233 return time[1];
00234 break;
00235 default:
00236 return time[2];
00237 break;
00238 }
00239 }
00240
00241 Double_t FarDetShieldPlankHandle::GetTime(CalTimeType::CalTimeType_t caltype_t,StripEnd::StripEnd_t stripend_t) const
00242 {
00243 return this->GetTime(stripend_t,caltype_t);
00244 }
00245
00246 Double_t FarDetShieldPlankHandle::GetCharge() const
00247 {
00248 return this->GetCharge(StripEnd::kWhole);
00249 }
00250
00251 Double_t FarDetShieldPlankHandle::GetCharge(StripEnd::StripEnd_t stripend_t) const
00252 {
00253 return this->GetCharge(stripend_t,CalDigitType::kPE);
00254 }
00255
00256 Double_t FarDetShieldPlankHandle::GetCharge(CalDigitType::CalDigitType_t caltype_t) const
00257 {
00258 return this->GetCharge(StripEnd::kWhole,caltype_t);
00259 }
00260
00261 Double_t FarDetShieldPlankHandle::GetCharge(StripEnd::StripEnd_t stripend_t,CalDigitType::CalDigitType_t caltype_t) const
00262 {
00263 const FarDetShieldPlank* myplank = dynamic_cast<const FarDetShieldPlank*>(GetCandBase());
00264
00265 Double_t charge[2];
00266
00267 switch (caltype_t) {
00268 case CalDigitType::kNone:
00269 charge[0] = myplank->fChargeNone[0];
00270 charge[1] = myplank->fChargeNone[1];
00271 break;
00272 case CalDigitType::kPE:
00273 charge[0]=myplank->fChargePE[0];
00274 charge[1]=myplank->fChargePE[1];
00275 break;
00276 default:
00277 charge[0]=myplank->fChargePE[0];
00278 charge[1]=myplank->fChargePE[1];
00279 break;
00280 }
00281
00282 switch (stripend_t) {
00283 case StripEnd::kNegative:
00284 return charge[0];
00285 break;
00286 case StripEnd::kPositive:
00287 return charge[1];
00288 break;
00289 default:
00290 return charge[0]+charge[1];
00291 break;
00292 }
00293 }
00294
00295 Double_t FarDetShieldPlankHandle::GetCharge(CalDigitType::CalDigitType_t caltype_t,StripEnd::StripEnd_t stripend_t) const
00296 {
00297 return this->GetCharge(stripend_t,caltype_t);
00298 }
00299
00300 Double_t FarDetShieldPlankHandle::GetGreenFibre(StripEnd::StripEnd_t stripend_t) const
00301 {
00302 const FarDetShieldPlank* myplank = dynamic_cast<const FarDetShieldPlank*>(GetCandBase());
00303 switch (stripend_t) {
00304 case StripEnd::kNegative:
00305 return myplank->fGreenFibre[0];
00306 break;
00307 case StripEnd::kPositive:
00308 return myplank->fGreenFibre[1];
00309 break;
00310 default:
00311 return 0.0;
00312 break;
00313 }
00314 }
00315
00316 Double_t FarDetShieldPlankHandle::GetWlsPigtail(StripEnd::StripEnd_t stripend_t) const
00317 {
00318 const FarDetShieldPlank* myplank = dynamic_cast<const FarDetShieldPlank*>(GetCandBase());
00319 switch (stripend_t) {
00320 case StripEnd::kNegative:
00321 return myplank->fWlsPigtail[0];
00322 break;
00323 case StripEnd::kPositive:
00324 return myplank->fWlsPigtail[1];
00325 break;
00326 default:
00327 return 0.0;
00328 break;
00329 }
00330 }
00331
00332 Double_t FarDetShieldPlankHandle::GetClearFibre(StripEnd::StripEnd_t stripend_t) const
00333 {
00334 const FarDetShieldPlank* myplank = dynamic_cast<const FarDetShieldPlank*>(GetCandBase());
00335 switch (stripend_t) {
00336 case StripEnd::kNegative:
00337 return myplank->fClearFibre[0];
00338 break;
00339 case StripEnd::kPositive:
00340 return myplank->fClearFibre[1];
00341 break;
00342 default:
00343 return 0.0;
00344 break;
00345 }
00346 }
00347
00348 Double_t FarDetShieldPlankHandle::GetHalfLength() const
00349 {
00350 return dynamic_cast<const FarDetShieldPlank*>(GetCandBase())->fHalfLength;
00351 }
00352
00353 XXXITRIMP(FarDetShieldPlankHandle)
00354