Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

FarDetStripHandle.cxx

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

Generated on Mon Feb 15 11:06:41 2010 for loon by  doxygen 1.3.9.1