00001 00002 // 00003 // $Id: CandShieldPlankHandle.cxx,v 1.2 2004/08/03 22:11:24 rhatcher Exp $ 00004 // 00005 // CandShieldPlank 00006 // 00007 // Package: ShieldPlank 00008 // 00009 // Handle for Builds Shield Strips 00010 // 00011 // Contact: howcroft@hep.phy.cam.ac.uk 00012 // 00013 // Created on: Tue Sep 30 15:39:44 BST 2003 00014 // 00016 00017 00018 #include "ShieldPlank/CandShieldPlankHandle.h" 00019 #include "MessageService/MsgService.h" 00020 00021 CVSID("$Id: CandShieldPlankHandle.cxx,v 1.2 2004/08/03 22:11:24 rhatcher Exp $"); 00022 00023 CandShieldPlankHandle::CandShieldPlankHandle() 00024 { 00025 } 00026 CandShieldPlankHandle::CandShieldPlankHandle(const CandShieldPlankHandle& handle) 00027 : CandHandle(handle) 00028 { 00029 } 00030 CandShieldPlankHandle::CandShieldPlankHandle(CandShieldPlank* candidate) 00031 : CandHandle(candidate) 00032 { 00033 } 00034 CandShieldPlankHandle::~CandShieldPlankHandle() 00035 { 00036 } 00037 00038 CandShieldPlankHandle* CandShieldPlankHandle::DupHandle() const 00039 { 00040 return new CandShieldPlankHandle(*this); 00041 } 00042 00043 00044 void CandShieldPlankHandle::SetChargePE(const double* charge) 00045 { 00046 CandShieldPlank *candstrip = dynamic_cast<CandShieldPlank*>(GetOwnedCandBase()); 00047 for(unsigned int i=0; i<3; ++i) 00048 candstrip->fChargePE[i]=charge[i]; 00049 } 00050 00051 void CandShieldPlankHandle::SetMeanX(const double x) 00052 { 00053 CandShieldPlank *candstrip = dynamic_cast<CandShieldPlank*>(GetOwnedCandBase()); 00054 candstrip->fMeanX=x; 00055 } 00056 00057 void CandShieldPlankHandle::SetMeanY(const double y) 00058 { 00059 CandShieldPlank *candstrip = dynamic_cast<CandShieldPlank*>(GetOwnedCandBase()); 00060 candstrip->fMeanY=y; 00061 } 00062 00063 void CandShieldPlankHandle::SetMeanZ(const double* z) 00064 { 00065 CandShieldPlank *candstrip = dynamic_cast<CandShieldPlank*>(GetOwnedCandBase()); 00066 for(unsigned int i=0; i<3; ++i) 00067 candstrip->fMeanZ[i]=z[i]; 00068 } 00069 00070 void CandShieldPlankHandle::SetMeanT(const double *time) 00071 { 00072 CandShieldPlank *candstrip = dynamic_cast<CandShieldPlank*>(GetOwnedCandBase()); 00073 for(unsigned int i=0; i<3; ++i) 00074 candstrip->fMeanTime[i]=time[i]; 00075 } 00076 00077 void CandShieldPlankHandle::SetMeanCorrectedT(const double *time) 00078 { 00079 CandShieldPlank *candstrip = dynamic_cast<CandShieldPlank*>(GetOwnedCandBase()); 00080 for(unsigned int i=0; i<3; ++i) 00081 candstrip->fMeanCorrectedTime[i]=time[i]; 00082 } 00083 00084 void CandShieldPlankHandle::SetNErrors(const int errors) 00085 { 00086 CandShieldPlank *candstrip = dynamic_cast<CandShieldPlank*>(GetOwnedCandBase()); 00087 candstrip->fNErrors = errors; 00088 } 00089 00090 void CandShieldPlankHandle::SetSection(const int section) 00091 { 00092 CandShieldPlank *candstrip = dynamic_cast<CandShieldPlank*>(GetOwnedCandBase()); 00093 candstrip->fSection = section; 00094 } 00095 00096 void CandShieldPlankHandle::SetSubSection(const int section) 00097 { 00098 CandShieldPlank *candstrip = dynamic_cast<CandShieldPlank*>(GetOwnedCandBase()); 00099 candstrip->fSubSection = section; 00100 } 00101 00102 Double_t CandShieldPlankHandle::GetCharge(StripEnd::StripEnd_t stripend)const 00103 { 00104 const CandShieldPlank *candstrip = dynamic_cast<const CandShieldPlank *>(GetCandBase()); 00105 switch (stripend) { 00106 case StripEnd::kNegative: 00107 return candstrip->fChargePE[0]; 00108 break; 00109 case StripEnd::kPositive: 00110 return candstrip->fChargePE[1]; 00111 break; 00112 default: 00113 return (candstrip->fChargePE[2]); 00114 break; 00115 } 00116 } 00117 00118 Double_t CandShieldPlankHandle::GetMeanX()const 00119 { 00120 const CandShieldPlank *candstrip = dynamic_cast<const CandShieldPlank *>(GetCandBase()); 00121 return (candstrip->fMeanX); 00122 } 00123 00124 Double_t CandShieldPlankHandle::GetMeanY()const 00125 { 00126 const CandShieldPlank *candstrip = dynamic_cast<const CandShieldPlank *>(GetCandBase()); 00127 return (candstrip->fMeanY); 00128 } 00129 00130 Double_t CandShieldPlankHandle::GetMeanZ(StripEnd::StripEnd_t stpend)const 00131 { 00132 const CandShieldPlank *candstrip = dynamic_cast<const CandShieldPlank *>(GetCandBase()); 00133 switch (stpend) { 00134 case StripEnd::kNegative: 00135 return candstrip->fMeanZ[0]; 00136 break; 00137 case StripEnd::kPositive: 00138 return candstrip->fMeanZ[1]; 00139 break; 00140 default: 00141 return (candstrip->fMeanZ[2]); 00142 break; 00143 } 00144 } 00145 00146 Double_t CandShieldPlankHandle::GetMeanTime(StripEnd::StripEnd_t stpend)const 00147 { 00148 const CandShieldPlank *candstrip = dynamic_cast<const CandShieldPlank *>(GetCandBase()); 00149 switch (stpend) { 00150 case StripEnd::kNegative: 00151 return candstrip->fMeanTime[0]; 00152 break; 00153 case StripEnd::kPositive: 00154 return candstrip->fMeanTime[1]; 00155 break; 00156 default: 00157 return (candstrip->fMeanTime[2]); 00158 break; 00159 } 00160 } 00161 00162 Double_t CandShieldPlankHandle::GetMeanCorrectedTime(StripEnd::StripEnd_t stpend)const 00163 { 00164 const CandShieldPlank *candstrip = dynamic_cast<const CandShieldPlank *>(GetCandBase()); 00165 switch (stpend) { 00166 case StripEnd::kNegative: 00167 return (candstrip->fMeanCorrectedTime[0]); 00168 break; 00169 case StripEnd::kPositive: 00170 return (candstrip->fMeanCorrectedTime[1]); 00171 break; 00172 default: 00173 return (candstrip->fMeanCorrectedTime[2]); 00174 break; 00175 } 00176 } 00177 00178 Int_t CandShieldPlankHandle::GetSection()const 00179 { 00180 const CandShieldPlank *candstrip = dynamic_cast<const CandShieldPlank *>(GetCandBase()); 00181 return (candstrip->fSection); 00182 } 00183 00184 Int_t CandShieldPlankHandle::GetSubSection()const 00185 { 00186 const CandShieldPlank *candstrip = dynamic_cast<const CandShieldPlank *>(GetCandBase()); 00187 return (candstrip->fSubSection); 00188 } 00189 00190 Int_t CandShieldPlankHandle::GetNErrors()const 00191 { 00192 const CandShieldPlank *candstrip = dynamic_cast<const CandShieldPlank *>(GetCandBase()); 00193 return (candstrip->fNErrors); 00194 } 00195 00196 00197 ClassImp(CandShieldPlankHandle) 00198 00199 XXXITRIMP(CandShieldPlankHandle) 00200
1.3.9.1