155 {
156
157 MsgStream log(
msgSvc(),
"MucTrackCnv" );
158 log << MSG::DEBUG << "MucTrackCnv::DataObjectToTObject" << endmsg;
159 StatusCode sc = StatusCode::SUCCESS;
160
162 if ( !mucTrackColTds )
163 {
164 log << MSG::ERROR << "Could not downcast to MucTrackCol" << endmsg;
165 return StatusCode::FAILURE;
166 }
167
168 DataObject* evt;
170 if ( evt == NULL )
171 {
172 log << MSG::ERROR << "Could not get DstEvent in TDS " << endmsg;
173 return StatusCode::FAILURE;
174 }
175 DstEvent* devtTds = dynamic_cast<DstEvent*>( evt );
176 if ( !devtTds )
177 { log << MSG::ERROR << "MucTrackCnv:Could not downcast to TDS DigiEvent" << endmsg; }
178 IOpaqueAddress* addr;
179
180 m_cnvSvc->getDstCnv()->createRep( evt, addr );
181 TDstEvent* recEvt =
m_cnvSvc->getDstCnv()->getWriteObject();
182
184 if ( !m_mucTrackCol ) return sc;
186
187 DstMucTrackCol::const_iterator mucTrackTds;
188
189 for ( mucTrackTds = mucTrackColTds->begin(); mucTrackTds != mucTrackColTds->end();
190 mucTrackTds++ )
191 {
192 Int_t trackId = ( *mucTrackTds )->trackId();
193 Int_t id = ( *mucTrackTds )->id();
194 Int_t st = ( *mucTrackTds )->status();
195 Int_t type = ( *mucTrackTds )->type();
196
197 Int_t startPart = ( *mucTrackTds )->startPart();
198 Int_t endPart = ( *mucTrackTds )->endPart();
199 Int_t brLastLayer = ( *mucTrackTds )->brLastLayer();
200 Int_t ecLastLayer = ( *mucTrackTds )->ecLastLayer();
201 Int_t numHits = ( *mucTrackTds )->numHits();
202 Int_t numLayers = ( *mucTrackTds )->numLayers();
203 Int_t maxHitsInLayer = ( *mucTrackTds )->maxHitsInLayer();
204
205 Double_t depth = ( *mucTrackTds )->depth();
206 Double_t chi2 = ( *mucTrackTds )->chi2();
207 Int_t dof = ( *mucTrackTds )->dof();
208 Double_t rms = ( *mucTrackTds )->rms();
209
210 Double_t xPos = ( *mucTrackTds )->xPos();
211 Double_t yPos = ( *mucTrackTds )->yPos();
212 Double_t zPos = ( *mucTrackTds )->zPos();
213
214 Double_t xPosSigma = ( *mucTrackTds )->xPosSigma();
215 Double_t yPosSigma = ( *mucTrackTds )->yPosSigma();
216 Double_t zPosSigma = ( *mucTrackTds )->zPosSigma();
217
218 Double_t px = ( *mucTrackTds )->px();
219 Double_t py = ( *mucTrackTds )->py();
220 Double_t pz = ( *mucTrackTds )->pz();
221
222 Double_t distance = ( *mucTrackTds )->distance();
223 Double_t deltaphi = ( *mucTrackTds )->deltaPhi();
224
225 Double_t krechi2 = ( *mucTrackTds )->kalRechi2();
226 Int_t kdof = ( *mucTrackTds )->kaldof();
227 Double_t kdepth = ( *mucTrackTds )->kaldepth();
228 Int_t kbrlay = ( *mucTrackTds )->kalbrLastLayer();
229 Int_t keclay = ( *mucTrackTds )->kalecLastLayer();
230
231
232
233
234 TMucTrack* mucTrackRoot = new TMucTrack();
235
236
238 mucTrackRoot->
setId(
id );
241
249
252 mucTrackRoot->
setDof( dof );
253 mucTrackRoot->
setRms( rms );
254
258
262
263 mucTrackRoot->
setPx( px );
264 mucTrackRoot->
setPy( py );
265 mucTrackRoot->
setPz( pz );
266
269
275
276
277
279 }
280
281 return StatusCode::SUCCESS;
282}
ObjectVector< DstMucTrack > DstMucTrackCol
IDataProviderSvc * m_eds
pointer to eventdataservice
void clearMucTrackCol()
clear the whole array
void addMucTrack(TMucTrack *Track)
Add a MucTrack into the TOF Data collection.
const TObjArray * getMucTrackCol() const
retrieve the whole TObjArray of MucTrack Data
void setNumHits(Int_t numHits)
void setTrackId(Int_t trackId)
void setkalecLastLayer(Int_t ec)
void setEndPart(Int_t part)
void setBrLastLayer(Int_t layer)
void setDeltaPhi(double dphi)
void setXPosSigma(Double_t x)
void setMaxHitsInLayer(Int_t maxHits)
void setkalRechi2(Double_t ch)
void setYPosSigma(Double_t y)
void setkalDepth(Double_t de)
void setDepth(Double_t depth)
void setStartPart(Int_t part)
void setChi2(Double_t chi2)
void setkalbrLastLayer(Int_t br)
void setEcLastLayer(Int_t layer)
void setRms(Double_t rms)
void setDistance(double dist)
void setZPosSigma(Double_t z)
void setNumLayers(Int_t numLayers)
_EXTERN_ std::string Event