147 {
148
149 MsgStream log(
msgSvc(),
"RecTofTrackCnv" );
150 log << MSG::DEBUG << "RecTofTrackCnv::DataObjectToTObject" << endmsg;
151 StatusCode sc = StatusCode::SUCCESS;
152
154 if ( !recTofTrackColTds )
155 {
156 log << MSG::ERROR << "Could not downcast to TofTrackCol" << endmsg;
157 return StatusCode::FAILURE;
158 }
159
160 DataObject* evt;
162 if ( evt == NULL )
163 {
164 log << MSG::ERROR << "Could not get RecEvent in TDS " << endmsg;
165 return StatusCode::FAILURE;
166 }
167
168 ReconEvent* devtTds = dynamic_cast<ReconEvent*>( evt );
169 if ( !devtTds )
170 { log << MSG::ERROR << "RecMucTrackCnv:Could not downcast to TDS DigiEvent" << endmsg; }
171
172 IOpaqueAddress* addr;
173
174 m_cnvSvc->getRecTrackCnv()->createRep( evt, addr );
175 TRecTrackEvent* recEvt =
m_cnvSvc->getRecTrackCnv()->getWriteObject();
176
178 if ( !m_recTofTrackCol ) return sc;
180
181 RecTofTrackCol::const_iterator recTofTrackTds;
182
183 for ( recTofTrackTds = recTofTrackColTds->begin();
184 recTofTrackTds != recTofTrackColTds->end(); recTofTrackTds++ )
185 {
186
187 Int_t tofTrackID = ( *recTofTrackTds )->tofTrackID();
188 Int_t trackID = ( *recTofTrackTds )->trackID();
189 Int_t tofID = ( *recTofTrackTds )->tofID();
190 Int_t strip = ( *recTofTrackTds )->strip();
191 UInt_t status = ( *recTofTrackTds )->status();
192 Double_t path = ( *recTofTrackTds )->path();
193 Double_t zrhit = ( *recTofTrackTds )->zrhit();
194 Double_t ph = ( *recTofTrackTds )->ph();
195 Double_t tof = ( *recTofTrackTds )->tof();
196 Double_t errtof = ( *recTofTrackTds )->errtof();
197 Double_t beta = ( *recTofTrackTds )->beta();
198 Double_t texpElectron = ( *recTofTrackTds )->texpElectron();
199 Double_t texpMuon = ( *recTofTrackTds )->texpMuon();
200 Double_t texpPion = ( *recTofTrackTds )->texpPion();
201 Double_t texpKaon = ( *recTofTrackTds )->texpKaon();
202 Double_t texpProton = ( *recTofTrackTds )->texpProton();
203 Double_t toffsetElectron = ( *recTofTrackTds )->toffsetElectron();
204 Double_t toffsetMuon = ( *recTofTrackTds )->toffsetMuon();
205 Double_t toffsetPion = ( *recTofTrackTds )->toffsetPion();
206 Double_t toffsetKaon = ( *recTofTrackTds )->toffsetKaon();
207 Double_t toffsetProton = ( *recTofTrackTds )->toffsetProton();
208 Double_t toffsetAntiProton = ( *recTofTrackTds )->toffsetAntiProton();
209 Double_t sigmaElectron = ( *recTofTrackTds )->sigmaElectron();
210 Double_t sigmaMuon = ( *recTofTrackTds )->sigmaMuon();
211 Double_t sigmaPion = ( *recTofTrackTds )->sigmaPion();
212 Double_t sigmaKaon = ( *recTofTrackTds )->sigmaKaon();
213 Double_t sigmaProton = ( *recTofTrackTds )->sigmaProton();
214 Double_t sigmaAntiProton = ( *recTofTrackTds )->sigmaAntiProton();
215 Int_t quality = ( *recTofTrackTds )->quality();
216 Double_t t0 = ( *recTofTrackTds )->t0();
217 Double_t errt0 = ( *recTofTrackTds )->errt0();
218 Double_t errz = ( *recTofTrackTds )->errz();
219 Double_t phi = ( *recTofTrackTds )->phi();
220 Double_t errphi = ( *recTofTrackTds )->errphi();
221 Double_t
energy = ( *recTofTrackTds )->energy();
222 Double_t errenergy = ( *recTofTrackTds )->errenergy();
223
225
226 TRecTofTrack* recTofTrackRoot = new TRecTofTrack();
227
228
233 recTofTrackRoot->
setPath( path );
235 recTofTrackRoot->
setPh( ph );
236 recTofTrackRoot->
setTof( tof );
238 recTofTrackRoot->
setBeta( beta );
257 recTofTrackRoot->
setT0( t0 );
259 recTofTrackRoot->
setErrZ( errz );
260 recTofTrackRoot->
setPhi( phi );
264
266 }
267
268 return StatusCode::SUCCESS;
269}
ObjectVector< RecTofTrack > RecTofTrackCol
************Class m_ypar INTEGER m_KeyWgt INTEGER m_KeyIHVP INTEGER m_KeyGPS INTEGER m_IsBeamPolarized INTEGER m_EvtGenInterface DOUBLE PRECISION m_Emin DOUBLE PRECISION m_sphot DOUBLE PRECISION m_Xenph DOUBLE PRECISION m_q2 DOUBLE PRECISION m_PolBeam2 DOUBLE PRECISION m_xErrPb *COMMON c_KK2f $ !CMS energy average $ !Spin Polarization vector first beam $ !Spin Polarization vector second beam $ !Beam energy spread[GeV] $ !minimum hadronization energy[GeV] $ !input READ never touch them !$ !debug facility $ !maximum weight $ !inverse alfaQED $ !minimum real photon energy
IDataProviderSvc * m_eds
pointer to eventdataservice
void setTexpElectron(Double_t texpe)
void setToffsetAntiProton(Double_t topb)
void setSigmaKaon(Double_t sk)
void setTof(Double_t tof)
void setTrackID(Int_t trackID)
void setTexpProton(Double_t texpp)
void setToffsetKaon(Double_t tok)
void setSigmaElectron(Double_t se)
void setEnergy(Double_t energy)
void setStatus(UInt_t status)
void setToffsetElectron(Double_t toe)
void setTexpKaon(Double_t texpk)
void setToffsetMuon(Double_t tomu)
void setQuality(Int_t quality)
void setSigmaPion(Double_t spi)
void setErrZ(Double_t errz)
void setErrTof(Double_t etof)
void setTofID(Int_t tofID)
void setSigmaAntiProton(Double_t spb)
void setToffsetPion(Double_t topi)
void setBeta(Double_t beta)
void setSigmaMuon(Double_t smu)
void setPhi(Double_t phi)
void setErrPhi(Double_t errphi)
void setTofTrackID(Int_t tofTrackID)
void setPath(Double_t path)
void setErrEnergy(Double_t errenergy)
void setTexpMuon(Double_t texpmu)
void setToffsetProton(Double_t top)
void setSigmaProton(Double_t sp)
void setZrHit(Double_t zrhit)
void setTexpPion(Double_t texppi)
void setErrT0(Double_t errt0)
void clearTofTrackCol()
clear the whole array
const TObjArray * getTofTrackCol() const
retrieve the whole TObjArray of TofTrack Data
void addTofTrack(TRecTofTrack *Track)
Add a TofTrack into the TOF Data collection.
_EXTERN_ std::string Event