BOSS 7.1.1
BESIII Offline Software System
Loading...
Searching...
No Matches
RecTofTrackCnv Class Reference

#include <RecTofTrackCnv.h>

+ Inheritance diagram for RecTofTrackCnv:

Public Member Functions

virtual ~RecTofTrackCnv ()
 
- Public Member Functions inherited from RootEventBaseCnv
 RootEventBaseCnv (const CLID &clid, ISvcLocator *svc)
 
virtual ~RootEventBaseCnv ()
 
virtual long repSvcType () const
 
virtual StatusCode initialize ()
 
virtual StatusCode finalize ()
 
void declareObject (const std::string &fullPath, const CLID &clid, const std::string &treename, const std::string &branchname)
 Store TDS path to link a particular converter to an object on the TDS.
 
virtual StatusCode createObj (IOpaqueAddress *addr, DataObject *&dat)
 Convert the persistent object to transient.
 
virtual StatusCode createRep (DataObject *pObject, IOpaqueAddress *&refpAddress)
 Convert the transient object to the requested representation.
 
virtual StatusCode fillRepRefs (IOpaqueAddress *pAddress, DataObject *pObject)
 Resolve the references of the converted object.
 
virtual StatusCode fillObjRefs (IOpaqueAddress *pAddress, DataObject *pObject)
 Resolve the references of the converted object.
 
TObject * getReadObject () const
 get the object to be read
 
- Public Member Functions inherited from Converter< Ty1, Ty2 >
destinationoperator (const source &) const
 

Static Public Member Functions

static const CLID & classID ()
 
- Static Public Member Functions inherited from RootEventBaseCnv
static const unsigned char storageType ()
 Storage type and class ID.
 

Protected Member Functions

 RecTofTrackCnv (ISvcLocator *svc)
 
virtual StatusCode DataObjectToTObject (DataObject *obj, RootAddress *addr)
 transformation to root
 
virtual StatusCode TObjectToDataObject (DataObject *&obj)
 transformation from root
 
- Protected Member Functions inherited from Converter< Ty1, Ty2 >
virtual destinationconvert (const source &) const =0
 

Friends

class CnvFactory< RecTofTrackCnv >
 

Additional Inherited Members

- Public Types inherited from Converter< Ty1, Ty2 >
typedef Ty1 source
 
typedef Ty2 destination
 
- Protected Attributes inherited from RootEventBaseCnv
RootCnvSvcm_cnvSvc
 
std::vector< RootCnvSvc::Leafm_leaves
 
RootInterfacem_rootInterface
 pointer to the RootInterface
 
IDataProviderSvc * m_eds
 pointer to eventdataservice
 
int m_branchNr
 the branchNr of this converter for writing
 
int m_branchNrDst
 
int m_branchNrMc
 
int m_branchNrRecon
 
int m_branchNrEvtRec
 
int m_branchNrEvtHeader
 
int m_branchNrEvtNavigator
 
TObject * m_objRead
 the object that was read
 
CLID CLID_top
 the CLID of the upper converter if any
 
TArrayS * m_branchNumbers
 array with number of branches for reading
 
std::string m_rootBranchname
 root branchname (may be concatenated of severals)
 
std::string m_rootTreename
 each converter knows it's treename
 
std::string m_currentFileName
 
std::vector< void * > m_adresses
 each converter knows the corresponding adresses
 
RootEvtSelectorm_evtsel
 

Detailed Description

Definition at line 15 of file RecTofTrackCnv.h.

Constructor & Destructor Documentation

◆ ~RecTofTrackCnv()

virtual RecTofTrackCnv::~RecTofTrackCnv ( )
inlinevirtual

Definition at line 25 of file RecTofTrackCnv.h.

25{ };

◆ RecTofTrackCnv()

RecTofTrackCnv::RecTofTrackCnv ( ISvcLocator * svc)
protected

Definition at line 32 of file RecTofTrackCnv.cxx.

34{
35
36 // Here we associate this converter with the /Event path on the TDS.
37 MsgStream log(msgSvc(), "RecTofTrackCnv");
38 //log << MSG::DEBUG << "Constructor called for " << objType() << endreq;
39 //m_rootTreename ="Rec";
40 //m_rootBranchname ="m_RecTofTrackCol";
41 //declareObject(EventModel::Recon::RecTofTrackCol, objType(), m_rootTreename, m_rootBranchname);
42 m_adresses.push_back(&m_recTofTrackCol);
43 m_recTofTrackCol=0;
44}
IMessageSvc * msgSvc()
static const CLID & classID()
std::vector< void * > m_adresses
each converter knows the corresponding adresses
RootEventBaseCnv(const CLID &clid, ISvcLocator *svc)

Member Function Documentation

◆ classID()

static const CLID & RecTofTrackCnv::classID ( )
inlinestatic

Definition at line 20 of file RecTofTrackCnv.h.

21 {
22 return CLID_RecTofTrackCol;
23 }
const CLID & CLID_RecTofTrackCol

◆ DataObjectToTObject()

StatusCode RecTofTrackCnv::DataObjectToTObject ( DataObject * obj,
RootAddress * addr )
protectedvirtual

transformation to root

Implements RootEventBaseCnv.

Definition at line 148 of file RecTofTrackCnv.cxx.

148 {
149
150 MsgStream log(msgSvc(), "RecTofTrackCnv");
151 log << MSG::DEBUG << "RecTofTrackCnv::DataObjectToTObject" << endreq;
152 StatusCode sc=StatusCode::SUCCESS;
153
154 RecTofTrackCol * recTofTrackColTds=dynamic_cast<RecTofTrackCol *> (obj);
155 if (!recTofTrackColTds) {
156 log << MSG::ERROR << "Could not downcast to TofTrackCol" << endreq;
157 return StatusCode::FAILURE;
158 }
159
160 DataObject *evt;
161 m_eds->findObject(EventModel::Recon::Event,evt);
162 if (evt==NULL) {
163 log << MSG::ERROR << "Could not get RecEvent in TDS " << endreq;
164 return StatusCode::FAILURE;
165 }
166
167 ReconEvent * devtTds=dynamic_cast<ReconEvent *> (evt);
168 if (!devtTds) {
169 log << MSG::ERROR << "RecMucTrackCnv:Could not downcast to TDS DigiEvent" << endreq;
170 }
171
172 IOpaqueAddress *addr;
173
174 m_cnvSvc->getRecTrackCnv()->createRep(evt,addr);
176
177 const TObjArray *m_recTofTrackCol = recEvt->getTofTrackCol();
178 if (!m_recTofTrackCol) return sc;
179 recEvt->clearTofTrackCol(); //necessary in case there is I/O at the same time since array is static
180 RecTofTrackCol::const_iterator recTofTrackTds;
181
182 for (recTofTrackTds = recTofTrackColTds->begin(); recTofTrackTds != recTofTrackColTds->end(); recTofTrackTds++) {
183
184 Int_t tofTrackID = (*recTofTrackTds)->tofTrackID();
185 Int_t trackID = (*recTofTrackTds)->trackID();
186 Int_t tofID = (*recTofTrackTds)->tofID();
187 Int_t strip = (*recTofTrackTds)->strip();
188 UInt_t status = (*recTofTrackTds)->status();
189 Double_t path = (*recTofTrackTds)->path();
190 Double_t zrhit = (*recTofTrackTds)->zrhit();
191 Double_t ph = (*recTofTrackTds)->ph();
192 Double_t tof = (*recTofTrackTds)->tof();
193 Double_t errtof = (*recTofTrackTds)->errtof();
194 Double_t beta = (*recTofTrackTds)->beta();
195 Double_t texpElectron = (*recTofTrackTds)->texpElectron();
196 Double_t texpMuon = (*recTofTrackTds)->texpMuon();
197 Double_t texpPion = (*recTofTrackTds)->texpPion();
198 Double_t texpKaon = (*recTofTrackTds)->texpKaon();
199 Double_t texpProton = (*recTofTrackTds)->texpProton();
200 Double_t toffsetElectron = (*recTofTrackTds)->toffsetElectron();
201 Double_t toffsetMuon = (*recTofTrackTds)->toffsetMuon();
202 Double_t toffsetPion = (*recTofTrackTds)->toffsetPion();
203 Double_t toffsetKaon = (*recTofTrackTds)->toffsetKaon();
204 Double_t toffsetProton = (*recTofTrackTds)->toffsetProton();
205 Double_t toffsetAntiProton = (*recTofTrackTds)->toffsetAntiProton();
206 Double_t sigmaElectron = (*recTofTrackTds)->sigmaElectron();
207 Double_t sigmaMuon = (*recTofTrackTds)->sigmaMuon();
208 Double_t sigmaPion = (*recTofTrackTds)->sigmaPion();
209 Double_t sigmaKaon = (*recTofTrackTds)->sigmaKaon();
210 Double_t sigmaProton = (*recTofTrackTds)->sigmaProton();
211 Double_t sigmaAntiProton = (*recTofTrackTds)->sigmaAntiProton();
212 Int_t quality = (*recTofTrackTds)->quality();
213 Double_t t0 = (*recTofTrackTds)->t0();
214 Double_t errt0 = (*recTofTrackTds)->errt0();
215 Double_t errz = (*recTofTrackTds)->errz();
216 Double_t phi = (*recTofTrackTds)->phi();
217 Double_t errphi = (*recTofTrackTds)->errphi();
218 Double_t energy = (*recTofTrackTds)->energy();
219 Double_t errenergy = (*recTofTrackTds)->errenergy();
220
221 if( TofHitStatus::is_mrpc( status ) ) { tofID = tofID*12 + strip; }
222
223 TRecTofTrack *recTofTrackRoot = new TRecTofTrack();
224 //m_common.m_RecTofTrackMap[(*recTofTrackTds)] = recTofTrackRoot;
225
226 recTofTrackRoot->setTofTrackID(tofTrackID);
227 recTofTrackRoot->setTrackID(trackID);
228 recTofTrackRoot->setTofID(tofID);
229 recTofTrackRoot->setStatus(status);
230 recTofTrackRoot->setPath(path);
231 recTofTrackRoot->setZrHit(zrhit);
232 recTofTrackRoot->setPh(ph);
233 recTofTrackRoot->setTof(tof);
234 recTofTrackRoot->setErrTof(errtof);
235 recTofTrackRoot->setBeta(beta);
236 recTofTrackRoot->setTexpElectron(texpElectron);
237 recTofTrackRoot->setTexpMuon(texpMuon);
238 recTofTrackRoot->setTexpPion(texpPion);
239 recTofTrackRoot->setTexpKaon(texpKaon);
240 recTofTrackRoot->setTexpProton(texpProton);
241 recTofTrackRoot->setToffsetElectron(toffsetElectron);
242 recTofTrackRoot->setToffsetMuon(toffsetMuon);
243 recTofTrackRoot->setToffsetPion(toffsetPion);
244 recTofTrackRoot->setToffsetKaon(toffsetKaon);
245 recTofTrackRoot->setToffsetProton(toffsetProton);
246 recTofTrackRoot->setToffsetAntiProton(toffsetAntiProton);
247 recTofTrackRoot->setSigmaElectron(sigmaElectron);
248 recTofTrackRoot->setSigmaMuon(sigmaMuon);
249 recTofTrackRoot->setSigmaPion(sigmaPion);
250 recTofTrackRoot->setSigmaKaon(sigmaKaon);
251 recTofTrackRoot->setSigmaProton(sigmaProton);
252 recTofTrackRoot->setSigmaAntiProton(sigmaAntiProton);
253 recTofTrackRoot->setQuality(quality);
254 recTofTrackRoot->setT0(t0);
255 recTofTrackRoot->setErrT0(errt0);
256 recTofTrackRoot->setErrZ(errz);
257 recTofTrackRoot->setPhi(phi);
258 recTofTrackRoot->setErrPhi(errphi);
259 recTofTrackRoot->setEnergy(energy);
260 recTofTrackRoot->setErrEnergy(errenergy);
261
262 recEvt->addTofTrack(recTofTrackRoot);
263
264 }
265
266 return StatusCode::SUCCESS;
267}
************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
Definition KK2f.h:50
ObjectVector< RecTofTrack > RecTofTrackCol
Definition RecTofTrack.h:33
#define NULL
static TRecTrackEvent * getWriteObject()
returns object to be written (maintained here for all DIGI-converters)
Definition RecTrackCnv.h:36
RecTrackCnv * getRecTrackCnv()
Definition RootCnvSvc.h:173
RootCnvSvc * m_cnvSvc
IDataProviderSvc * m_eds
pointer to eventdataservice
virtual StatusCode createRep(DataObject *pObject, IOpaqueAddress *&refpAddress)
Convert the transient object to the requested representation.
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 setT0(Double_t t0)
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 setPh(Double_t ph)
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.
bool is_mrpc() const
_EXTERN_ std::string Event
Definition EventModel.h:84

◆ TObjectToDataObject()

StatusCode RecTofTrackCnv::TObjectToDataObject ( DataObject *& obj)
protectedvirtual

transformation from root

Implements RootEventBaseCnv.

Definition at line 46 of file RecTofTrackCnv.cxx.

46 {
47 // creation of TDS object from root object
48
49
50 MsgStream log(msgSvc(), "RecTofTrackCnv");
51 log << MSG::DEBUG << "RecTofTrackCnv::TObjectToDataObject" << endreq;
52 StatusCode sc=StatusCode::SUCCESS;
53
54 // create the TDS location for the MucTrack Collection
55 RecTofTrackCol* recTofTrackTdsCol = new RecTofTrackCol;
56 refpObject=recTofTrackTdsCol;
57
58 // now convert
59 if (!m_recTofTrackCol) return sc;
60 TIter recTofTrackIter(m_recTofTrackCol);
61 TRecTofTrack *recTofTrackRoot = 0;
62 while ((recTofTrackRoot = (TRecTofTrack*)recTofTrackIter.Next())) {
63
64 int tofTrackID = recTofTrackRoot->tofTrackID();
65 int trackID = recTofTrackRoot->trackID();
66 int tofID = recTofTrackRoot->tofID();
67 unsigned int status = recTofTrackRoot->status();
68 double path = recTofTrackRoot->path();
69 double zrhit = recTofTrackRoot->zrhit();
70 double ph = recTofTrackRoot->ph();
71 double tof = recTofTrackRoot->tof();
72 double errtof = recTofTrackRoot->errtof();
73 double beta = recTofTrackRoot->beta();
74 double texpElectron = recTofTrackRoot->texpElectron();
75 double texpMuon = recTofTrackRoot->texpMuon();
76 double texpPion = recTofTrackRoot->texpPion();
77 double texpKaon = recTofTrackRoot->texpKaon();
78 double texpProton = recTofTrackRoot->texpProton();
79 double toffsetElectron = recTofTrackRoot->toffsetElectron();
80 double toffsetMuon = recTofTrackRoot->toffsetMuon();
81 double toffsetPion = recTofTrackRoot->toffsetPion();
82 double toffsetKaon = recTofTrackRoot->toffsetKaon();
83 double toffsetProton = recTofTrackRoot->toffsetProton();
84 double toffsetAntiProton = recTofTrackRoot->toffsetAntiProton();
85 double sigmaElectron = recTofTrackRoot->sigmaElectron();
86 double sigmaMuon = recTofTrackRoot->sigmaMuon();
87 double sigmaPion = recTofTrackRoot->sigmaPion();
88 double sigmaKaon = recTofTrackRoot->sigmaKaon();
89 double sigmaProton = recTofTrackRoot->sigmaProton();
90 double sigmaAntiProton = recTofTrackRoot->sigmaAntiProton();
91 int quality = recTofTrackRoot->quality();
92 double t0 = recTofTrackRoot->t0();
93 double errt0 = recTofTrackRoot->errt0();
94 double errz = recTofTrackRoot->errz();
95 double phi = recTofTrackRoot->phi();
96 double errphi = recTofTrackRoot->errphi();
97 double energy = recTofTrackRoot->energy();
98 double errenergy = recTofTrackRoot->errenergy();
99
100 RecTofTrack *recTofTrackTds = new RecTofTrack();
101 m_common.m_rootRecTofTrackMap[recTofTrackRoot] = recTofTrackTds;
102
103 recTofTrackTds->setTofTrackID(tofTrackID);
104 recTofTrackTds->setTrackID(trackID);
105 recTofTrackTds->setTofID(tofID);
106 recTofTrackTds->setStatus(status);
107 recTofTrackTds->setPath(path);
108 recTofTrackTds->setZrHit(zrhit);
109 recTofTrackTds->setPh(ph);
110 recTofTrackTds->setTof(tof);
111 recTofTrackTds->setErrTof(errtof);
112 recTofTrackTds->setBeta(beta);
113 recTofTrackTds->setTexpElectron(texpElectron);
114 recTofTrackTds->setTexpMuon(texpMuon);
115 recTofTrackTds->setTexpPion(texpPion);
116 recTofTrackTds->setTexpKaon(texpKaon);
117 recTofTrackTds->setTexpProton(texpProton);
118 recTofTrackTds->setToffsetElectron(toffsetElectron);
119 recTofTrackTds->setToffsetMuon(toffsetMuon);
120 recTofTrackTds->setToffsetPion(toffsetPion);
121 recTofTrackTds->setToffsetKaon(toffsetKaon);
122 recTofTrackTds->setToffsetProton(toffsetProton);
123 recTofTrackTds->setToffsetAntiProton(toffsetAntiProton);
124 recTofTrackTds->setSigmaElectron(sigmaElectron);
125 recTofTrackTds->setSigmaMuon(sigmaMuon);
126 recTofTrackTds->setSigmaPion(sigmaPion);
127 recTofTrackTds->setSigmaKaon(sigmaKaon);
128 recTofTrackTds->setSigmaProton(sigmaProton);
129 recTofTrackTds->setSigmaAntiProton(sigmaAntiProton);
130 recTofTrackTds->setQuality(quality);
131 recTofTrackTds->setT0(t0);
132 recTofTrackTds->setErrT0(errt0);
133 recTofTrackTds->setErrZ(errz);
134 recTofTrackTds->setPhi(phi);
135 recTofTrackTds->setErrPhi(errphi);
136 recTofTrackTds->setEnergy(energy);
137 recTofTrackTds->setErrEnergy(errenergy);
138
139 recTofTrackTdsCol->push_back(recTofTrackTds);
140 }
141
142 delete m_recTofTrackCol;
143 m_recTofTrackCol = 0;
144
145 return StatusCode::SUCCESS;
146}
void setStatus(unsigned int status)
Definition DstTofTrack.h:93
void setTexpElectron(double texpe)
void setTexpMuon(double texpmu)
void setToffsetPion(double topi)
void setEnergy(double energy)
void setPath(double path)
Definition DstTofTrack.h:95
void setTexpPion(double texppi)
void setTofTrackID(int tofTrackID)
Definition DstTofTrack.h:90
void setPh(double ph)
Definition DstTofTrack.h:97
void setSigmaMuon(double smu)
void setQuality(int quality)
void setTexpKaon(double texpk)
void setZrHit(double zrhit)
Definition DstTofTrack.h:96
void setTof(double tof)
Definition DstTofTrack.h:98
void setToffsetMuon(double tomu)
void setSigmaProton(double sp)
void setPhi(double phi)
void setToffsetProton(double top)
void setErrTof(double etof)
Definition DstTofTrack.h:99
void setErrT0(double errt0)
void setTexpProton(double texpp)
void setToffsetAntiProton(double topb)
void setBeta(double beta)
void setSigmaKaon(double sk)
void setErrEnergy(double errenergy)
void setTrackID(int trackID)
Definition DstTofTrack.h:91
void setT0(double t0)
void setErrZ(double errz)
void setSigmaAntiProton(double spb)
void setErrPhi(double errphi)
void setSigmaPion(double spi)
void setTofID(int tofID)
Definition DstTofTrack.h:92
void setSigmaElectron(double se)
void setToffsetKaon(double tok)
void setToffsetElectron(double toe)
Double_t texpMuon() const
Double_t sigmaPion() const
Double_t sigmaAntiProton() const
Double_t errz() const
Double_t path() const
Double_t texpKaon() const
Double_t toffsetMuon() const
Int_t tofID() const
Double_t sigmaProton() const
Double_t texpProton() const
Double_t texpElectron() const
Int_t quality() const
Double_t sigmaMuon() const
Int_t trackID() const
Double_t errphi() const
Double_t toffsetPion() const
Double_t toffsetKaon() const
Double_t beta() const
Double_t phi() const
Double_t energy() const
Double_t zrhit() const
Double_t errtof() const
Double_t ph() const
Double_t texpPion() const
Double_t errt0() const
Double_t toffsetAntiProton() const
Double_t toffsetProton() const
Double_t errenergy() const
Double_t tof() const
Double_t sigmaElectron() const
Double_t t0() const
Int_t tofTrackID() const
UInt_t status() const
Double_t sigmaKaon() const
Double_t toffsetElectron() const
static std::map< const TObject *, const RecTofTrack * > m_rootRecTofTrackMap
Definition commonData.h:213

Friends And Related Symbol Documentation

◆ CnvFactory< RecTofTrackCnv >

friend class CnvFactory< RecTofTrackCnv >
friend

Definition at line 9 of file RecTofTrackCnv.h.


The documentation for this class was generated from the following files: