176 {
177
178 MsgStream log(
msgSvc(),
"RecMucTrackCnv" );
179 log << MSG::DEBUG << "RecMucTrackCnv::DataObjectToTObject" << endmsg;
180 StatusCode sc = StatusCode::SUCCESS;
181
183 if ( !mucTrackColTds )
184 {
185 log << MSG::ERROR << "Could not downcast to RecMucTrackCol" << endmsg;
186 return StatusCode::FAILURE;
187 }
188
189 DataObject* evt;
191 if ( evt == NULL )
192 {
193 log << MSG::ERROR << "Could not get RecEvent in TDS " << endmsg;
194 return StatusCode::FAILURE;
195 }
196 ReconEvent* devtTds = dynamic_cast<ReconEvent*>( evt );
197 if ( !devtTds )
198 { log << MSG::ERROR << "RecMucTrackCnv:Could not downcast to TDS DigiEvent" << endmsg; }
199 IOpaqueAddress* addr;
200
201 m_cnvSvc->getRecTrackCnv()->createRep( evt, addr );
202 TRecTrackEvent* recEvt =
m_cnvSvc->getRecTrackCnv()->getWriteObject();
203
205 if ( !m_recMucTrackCol ) return sc;
207
208 RecMucTrackCol::const_iterator mucTrackTds;
209
210 for ( mucTrackTds = mucTrackColTds->begin(); mucTrackTds != mucTrackColTds->end();
211 mucTrackTds++ )
212 {
213 Int_t trackId = ( *mucTrackTds )->trackId();
214 Int_t id = ( *mucTrackTds )->id();
215 Int_t st = ( *mucTrackTds )->status();
216 Int_t type = ( *mucTrackTds )->type();
217
218 Int_t startPart = ( *mucTrackTds )->startPart();
219 Int_t endPart = ( *mucTrackTds )->endPart();
220 Int_t brLastLayer = ( *mucTrackTds )->brLastLayer();
221 Int_t ecLastLayer = ( *mucTrackTds )->ecLastLayer();
222 Int_t numHits = ( *mucTrackTds )->numHits();
223 Int_t numLayers = ( *mucTrackTds )->numLayers();
224 Int_t maxHitsInLayer = ( *mucTrackTds )->maxHitsInLayer();
225
226 Double_t depth = ( *mucTrackTds )->depth();
227 Double_t chi2 = ( *mucTrackTds )->chi2();
228 Int_t dof = ( *mucTrackTds )->dof();
229 Double_t rms = ( *mucTrackTds )->rms();
230
231 Double_t xPos = ( *mucTrackTds )->xPos();
232 Double_t yPos = ( *mucTrackTds )->yPos();
233 Double_t zPos = ( *mucTrackTds )->zPos();
234
235 Double_t xPosSigma = ( *mucTrackTds )->xPosSigma();
236 Double_t yPosSigma = ( *mucTrackTds )->yPosSigma();
237 Double_t zPosSigma = ( *mucTrackTds )->zPosSigma();
238
239 Double_t distance = ( *mucTrackTds )->distance();
240 Double_t deltaphi = ( *mucTrackTds )->deltaPhi();
241
242 Double_t px = ( *mucTrackTds )->px();
243 Double_t py = ( *mucTrackTds )->py();
244 Double_t pz = ( *mucTrackTds )->pz();
245
246 vector<Int_t> vecHits = ( *mucTrackTds )->getVecHits();
247 vector<Int_t> expHits = ( *mucTrackTds )->getExpHits();
248 vector<Float_t> distHits = ( *mucTrackTds )->getDistHits();
249
250 Double_t krechi2 = ( *mucTrackTds )->kalRechi2();
251 Int_t kdof = ( *mucTrackTds )->kaldof();
252 Double_t kdepth = ( *mucTrackTds )->kaldepth();
253 Int_t kbrlay = ( *mucTrackTds )->kalbrLastLayer();
254 Int_t keclay = ( *mucTrackTds )->kalecLastLayer();
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272 TRecMucTrack* mucTrackRoot = new TRecMucTrack();
273
274
276 mucTrackRoot->
setId(
id );
279
287
290 mucTrackRoot->
setDof( dof );
291 mucTrackRoot->
setRms( rms );
292
296
300
303
304
305
306
307
308 mucTrackRoot->
setPx( px );
309 mucTrackRoot->
setPy( py );
310 mucTrackRoot->
setPz( pz );
311
315
316
322
324 }
325
326 return StatusCode::SUCCESS;
327}
ObjectVector< RecMucTrack > RecMucTrackCol
IDataProviderSvc * m_eds
pointer to eventdataservice
void setRms(Double_t rms)
void setMaxHitsInLayer(Int_t maxHits)
void setkalbrLastLayer(Int_t br)
void setEcLastLayer(Int_t layer)
void setDistHits(vector< Float_t > &distHits)
void setExpHits(vector< Int_t > &expHits)
void setVecHits(vector< Int_t > &vecHits)
void setYPosSigma(Double_t y)
void setkalecLastLayer(Int_t ec)
void setStartPart(Int_t part)
void setNumHits(Int_t numHits)
void setBrLastLayer(Int_t layer)
void setDeltaPhi(Double_t dphi)
void setEndPart(Int_t part)
void setTrackId(Int_t trackId)
void setkalRechi2(Double_t ch)
void setNumLayers(Int_t numLayers)
void setDepth(Double_t depth)
void setXPosSigma(Double_t x)
void setChi2(Double_t chi2)
void setZPosSigma(Double_t z)
void setkalDepth(Double_t de)
void setDistance(Double_t dist)
void addMucTrack(TRecMucTrack *Track)
Add a MucTrack into the TOF Data collection.
void clearMucTrackCol()
clear the whole array
const TObjArray * getMucTrackCol() const
retrieve the whole TObjArray of MucTrack Data
_EXTERN_ std::string Event