| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

ElecHeaderCnv Class Reference

Convert a ElecHeader and its subobjects. More...

#include <ElecHeaderCnv.h>

Inheritance diagram for ElecHeaderCnv:

[legend]
Collaboration diagram for ElecHeaderCnv:
[legend]
List of all members.

Public Types

 INVALID_ADDRESS
 INVALID_OBJECT
 NO_MEMORY
 BAD_STORAGE_TYPE
 NO_SOURCE_OBJECT
 ICONVERSIONSVC_LAST_ERROR
 SUCCESS
 NO_INTERFACE
 VERSMISMATCH
 LAST_ERROR
enum  Status

Public Member Functions

 ElecHeaderCnv (ISvcLocator *svc)
virtual ~ElecHeaderCnv ()
StatusCode PerToTran (const PerElecHeader &tobj, DayaBay::ElecHeader &dobj)
 Copy data from TObject based class of type TType to DataObject based class of type DOType.
StatusCode TranToPer (const DayaBay::ElecHeader &dobj, PerElecHeader &tobj)
 Copy data from DataObject based class of type DOType to TObject based class of type TType.
StatusCode fillRepRefs (IOpaqueAddress *addr, DataObject *dobj)
StatusCode fillObjRefs (IOpaqueAddress *addr, DataObject *dobj)
PerElecCrateHeaderconvert (const DayaBay::ElecCrateHeader &transCH)
PerElecPulseHeaderconvert (const DayaBay::ElecPulseHeader &transPH)
PerElecCrateconvert (const DayaBay::ElecCrate &transCrate)
PerElecFeeChannelconvert (const DayaBay::ElecFeeChannel &in_ch)
PerElecFecCrateconvert (const DayaBay::ElecFecCrate &transFecCrate)
PerElecFeeCrateconvert (const DayaBay::ElecFeeCrate &transFeeCrate)
PerElecPulseCollectionconvert (const DayaBay::ElecPulseCollection &transPCol)
PerElecPulseconvert (const DayaBay::ElecPulse &transPulse)
DayaBay::ElecCrateHeaderconvert (const PerElecCrateHeader &perCH)
DayaBay::ElecPulseHeaderconvert (const PerElecPulseHeader &perPH)
DayaBay::ElecCrateconvert (const PerElecCrate &perCrate)
DayaBay::ElecFeeChannelconvert (const PerElecFeeChannel &perChannel)
DayaBay::ElecFecCrateconvert (const PerElecFecCrate &perFecCrate)
DayaBay::ElecFeeCrateconvert (const PerElecFeeCrate &perFeeCrate)
DayaBay::ElecPulseCollectionconvert (const PerElecPulseCollection &perEPC)
DayaBay::ElecPulseconvert (const PerElecPulse &perEP)
PerElecHeadergetPerInputObject ()
PerElecHeadergetPerOutputObject ()
const RootIOBaseObjectgetBaseInputObject ()
const RootIOBaseObjectgetBaseOutputObject ()
virtual StatusCode TranObjectToPerObject (DataObject &dat, const RootOutputAddress &)
virtual StatusCode PerObjectToTranObject (DataObject *&dat)
virtual RootInputStreammakeInputStream (const RootInputAddress &ria)
virtual RootOutputStreammakeOutputStream (const RootOutputAddress &ria)
virtual long repSvcType () const
virtual StatusCode initialize ()
virtual StatusCode finalize ()
virtual StatusCode createObj (IOpaqueAddress *addr, DataObject *&dat)
virtual StatusCode createRep (DataObject *pObject, IOpaqueAddress *&refpAddress)
int commit (const RootOutputAddress &roa)
RootIOBaseCnvotherConverter (int clID)
virtual StatusCode queryInterface (const InterfaceID &riid, void **ppvInterface)
virtual unsigned long addRef ()
virtual unsigned long release ()
virtual StatusCode setDataProvider (IDataProviderSvc *svc)
virtual IDataProviderSvcdataProvider () const
virtual StatusCode setConversionSvc (IConversionSvc *svc)
virtual IConversionSvcconversionSvc () const
virtual StatusCode setAddressCreator (IAddressCreator *creator)
virtual IAddressCreatoraddressCreator () const
virtual const CLIDobjType () const
virtual long i_repSvcType () const
virtual StatusCode updateObj (IOpaqueAddress *pAddress, DataObject *refpObject)
virtual StatusCode updateObjRefs (IOpaqueAddress *pAddress, DataObject *pObject)
virtual StatusCode updateRep (IOpaqueAddress *pAddress, DataObject *pObject)
virtual StatusCode updateRepRefs (IOpaqueAddress *pAddress, DataObject *pObject)
StatusCode service (const std::string &name, T *&psvc, bool createIf=false) const
StatusCode service (const std::string &type, const std::string &name, T *&psvc) const

Static Public Member Functions

static const CLIDclassID ()
static unsigned char storageType ()
static const InterfaceIDinterfaceID ()
static const InterfaceIDinterfaceID ()

Public Attributes

 INVALID_ADDRESS
 INVALID_OBJECT
 NO_MEMORY
 BAD_STORAGE_TYPE
 NO_SOURCE_OBJECT
 ICONVERSIONSVC_LAST_ERROR

Protected Member Functions

ISvcLocatorserviceLocator () const
IMessageSvcmsgSvc () const
IMessageSvcmessageService () const
IDataManagerSvcdataManager () const

Protected Attributes

std::string m_perclassName
PerElecHeaderm_perInObj
PerElecHeaderm_perOutObj
IRootIOSvcm_rioSvc
IConversionSvcm_cnvSvc
RootInputStreamm_ris

Private Attributes

bool m_savePulseData
bool m_saveChannelData
bool m_saveBoardData
bool m_saveEsumData

Detailed Description

Convert a ElecHeader and its subobjects.

bseilhan@iit.edu Aug 17, 2008

Based on GenHeaderConv.h

Definition at line 37 of file ElecHeaderCnv.h.


Constructor & Destructor Documentation

ElecHeaderCnv::ElecHeaderCnv ( ISvcLocator svc  ) 

Definition at line 26 of file ElecHeaderCnv.cc.

00027     : RootIOTypedCnv<PerElecHeader,ElecHeader>("PerElecHeader",
00028                                              classID(),svc)
00029 {
00030   // FIXME: Converters do not have properties
00031   //declareProperty("SaveChannelData",m_saveChannelData=true,
00032   //                "Save channel-level simulation data in output");
00033   //declareProperty("SaveBoardData",m_saveBoardData=true,
00034   //                "Save board-level simulation data in output");
00035 
00036   // Helper variables to allow control of writing electronics
00037   // simulation data
00038 
00039   m_savePulseData = true;
00040   m_saveChannelData = true;
00041   m_saveBoardData = true;
00042   m_saveEsumData = true;
00043 
00044   char* pruneElecSimData = getenv("NUWA_PRUNEELECSIM");
00045   if (pruneElecSimData) {
00046     m_savePulseData = false;
00047     m_saveChannelData = false;
00048     m_saveBoardData = false;
00049     m_saveEsumData = false;
00050   }
00051 
00052 }

ElecHeaderCnv::~ElecHeaderCnv (  )  [virtual]

Definition at line 54 of file ElecHeaderCnv.cc.

00055 {
00056 }


Member Function Documentation

static const CLID& ElecHeaderCnv::classID (  )  [inline, static]

Definition at line 41 of file ElecHeaderCnv.h.

00041                                  {
00042         return DayaBay::CLID_ElecHeader;
00043     }

StatusCode ElecHeaderCnv::PerToTran ( const PerElecHeader tobj,
DayaBay::ElecHeader dobj 
) [virtual]

Copy data from TObject based class of type TType to DataObject based class of type DOType.

Implements RootIOTypedCnv< PerElecHeader, DayaBay::ElecHeader >.

Definition at line 60 of file ElecHeaderCnv.cc.

00062 {
00063     StatusCode sc = HeaderObjectCnv::toTran(perobj,tranobj);
00064     if (sc.isFailure()) return sc;
00065 
00066     MsgStream log(msgSvc(), "ElecHeaderCnv::PerToTran");
00067 
00068     PerElecCrateHeader* perECH = perobj.crateHeader ;
00069     ElecCrateHeader* transECH = 0;
00070     if( perECH!=0 ) {
00071       transECH = convert(*perECH);
00072       transECH->setHeader( &tranobj );
00073     }
00074     
00075     // convert ElecPulseHeader to PerElecPulseHeader
00076     PerElecPulseHeader* perEPH = perobj.pulseHeader ;
00077     ElecPulseHeader* transEPH = 0;
00078     if( perEPH!=0 ) {
00079       transEPH = convert(*perEPH);
00080       transEPH->setHeader( &tranobj );
00081     }
00082     
00083     tranobj.setCrateHeader(transECH);
00084     tranobj.setPulseHeader(transEPH);
00085 
00086     return StatusCode::SUCCESS;
00087 }

StatusCode ElecHeaderCnv::TranToPer ( const DayaBay::ElecHeader dobj,
PerElecHeader tobj 
) [virtual]

Copy data from DataObject based class of type DOType to TObject based class of type TType.

Implements RootIOTypedCnv< PerElecHeader, DayaBay::ElecHeader >.

Definition at line 90 of file ElecHeaderCnv.cc.

00092 { 
00093     MsgStream log(msgSvc(), "ElecHeaderCnv::TranToPer");
00094   
00095     StatusCode sc = HeaderObjectCnv::toPer(tranobj,perobj);
00096     if (sc.isFailure()) return sc;
00097  
00098     // convert PerElecCrateHeader to PerElecCrateHeader;
00099     if (perobj.crateHeader != 0 ) {
00100       delete perobj.crateHeader;   // delete the old one
00101     }
00102     const ElecCrateHeader* transECH = tranobj.crateHeader() ;
00103     PerElecCrateHeader* perECH = 0;
00104     if (transECH != 0) {
00105       perECH = convert(*transECH); // create a new one
00106     }
00107     perobj.crateHeader=perECH;
00108     
00109     // convert ElecPulseHeader to PerElecPulseHeader
00110     if (perobj.pulseHeader != 0 ) {
00111       delete perobj.pulseHeader;   // delete the old one
00112     }
00113     const ElecPulseHeader* transEPH = tranobj.pulseHeader() ;
00114     PerElecPulseHeader* perEPH = 0;
00115     if (transEPH != 0) {
00116       perEPH = convert(*transEPH); // create a new one
00117     }
00118     perobj.pulseHeader=perEPH;
00119 
00120     return StatusCode::SUCCESS;
00121 }

StatusCode ElecHeaderCnv::fillRepRefs ( IOpaqueAddress addr,
DataObject dobj 
) [virtual]

Reimplemented from RootIOTypedCnv< PerElecHeader, DayaBay::ElecHeader >.

Definition at line 123 of file ElecHeaderCnv.cc.

00124 {
00125     MsgStream log(msgSvc(), "ElecHeaderCnv::fillRepRefs");
00126     ElecHeader* eh = dynamic_cast<ElecHeader*>(dobj);
00127 
00128     log << MSG::DEBUG
00129         << "Saving links to " << eh->inputHeaders().size() 
00130         << " input headers" << endreq;
00131 
00132     StatusCode sc = HeaderObjectCnv::fillPer(m_rioSvc,*eh,*m_perOutObj);
00133     if (sc.isFailure()) {
00134         log << MSG::ERROR << "Failed to fill HeaderObject part" << endreq;
00135         return sc;
00136     }
00137 
00138     // ... fill ElecHeader part...
00139     return sc;
00140 }

StatusCode ElecHeaderCnv::fillObjRefs ( IOpaqueAddress addr,
DataObject dobj 
) [virtual]

Reimplemented from RootIOTypedCnv< PerElecHeader, DayaBay::ElecHeader >.

Definition at line 142 of file ElecHeaderCnv.cc.

00143 {
00144     MsgStream log(msgSvc(), "ElecHeaderCnv::fillObjRefs");
00145     HeaderObject* hobj = dynamic_cast<HeaderObject*>(dobj);
00146     StatusCode sc = HeaderObjectCnv::fillTran(m_rioSvc,*m_perInObj,*hobj);
00147     if (sc.isFailure()) {
00148         log << MSG::ERROR << "Failed to fill HeaderObject part" << endreq;
00149         return sc;
00150     }
00151 
00152     log << MSG::DEBUG
00153         << "Restored links to " << hobj->inputHeaders().size() 
00154         << " input headers" << endreq;
00155 
00156     // ... fill ElecHeader part...
00157     return sc;
00158 }

PerElecCrateHeader * ElecHeaderCnv::convert ( const DayaBay::ElecCrateHeader transCH  ) 

Definition at line 163 of file ElecHeaderCnv.cc.

00163                                                                         {
00164   MsgStream log(msgSvc(), "ElecHeaderCnv");
00165 
00166   PerElecCrateHeader::detCrateVec cratevec;
00167   const map<Detector,ElecCrate*>& in_cmap = transCH.crates();
00168   map<Detector,ElecCrate*>::const_iterator it, done = in_cmap.end() ;
00169   for (it = in_cmap.begin(); it != done; ++it ){
00170     //short int detId = (it->first).siteDetPackedData();
00171     const ElecCrate* cr = it->second;
00172     PerElecCrate* pcr = convert(*cr);
00173     if(pcr!=0) {
00174       cratevec.push_back( pcr );
00175     } else {
00176       log<<MSG::ERROR<<"You are trying to save a null pointer of ElecCrate to file. Skipped."<<endreq;
00177       continue;
00178     }
00179   }
00180   return new PerElecCrateHeader(cratevec);
00181 }

PerElecPulseHeader * ElecHeaderCnv::convert ( const DayaBay::ElecPulseHeader transPH  ) 

Definition at line 261 of file ElecHeaderCnv.cc.

00261                                                                         {
00262   PerElecPulseHeader::detCollMap pulsemap;
00263   if(m_savePulseData){
00264     const map<Detector,ElecPulseCollection*>& in_pmap = transPH.pulseCollection();
00265     map<Detector,ElecPulseCollection*>::const_iterator it, done = in_pmap.end() ;
00266     for (it = in_pmap.begin(); it != done; ++it ){
00267       short int detId = (it->first).siteDetPackedData();
00268       const ElecPulseCollection* pls = it->second;
00269       pulsemap[detId] = convert(*pls);
00270     }
00271   }
00272   return new PerElecPulseHeader(pulsemap);
00273 }

PerElecCrate * ElecHeaderCnv::convert ( const DayaBay::ElecCrate transCrate  ) 

Definition at line 183 of file ElecHeaderCnv.cc.

00183                                                                {
00184   Detector det = transCrate.detector();
00185   
00186   if(det.detectorId() == DetectorId::kUnknown){
00187       return 0; 
00188   }else if( det.detectorId() != DetectorId::kRPC ){
00189       return convert( static_cast<const ElecFeeCrate&>(transCrate) );
00190   }else{
00191       return convert( static_cast<const ElecFecCrate&>(transCrate) ); 
00192   }
00193    
00194 }

PerElecFeeChannel * ElecHeaderCnv::convert ( const DayaBay::ElecFeeChannel in_ch  ) 

Definition at line 252 of file ElecHeaderCnv.cc.

00252                                                                     {
00253   vector<int> hit = in_ch.hit();
00254   vector<int> adcHigh = in_ch.adcHigh();
00255   vector<int> adcLow = in_ch.adcLow();
00256   vector<int> tdc = in_ch.tdc();
00257   vector<double> energy = in_ch.energy();  
00258   return new PerElecFeeChannel(hit,adcHigh,adcLow,tdc,energy);
00259 }

PerElecFecCrate * ElecHeaderCnv::convert ( const DayaBay::ElecFecCrate transFecCrate  ) 

Definition at line 248 of file ElecHeaderCnv.cc.

00248                                                                         {
00249   return new PerElecFecCrate();
00250 }

PerElecFeeCrate * ElecHeaderCnv::convert ( const DayaBay::ElecFeeCrate transFeeCrate  ) 

Definition at line 196 of file ElecHeaderCnv.cc.

00196                                                                         {
00197   // get detector Id
00198   short int det = (transFeeCrate.detector()).siteDetPackedData();
00199   
00200   // make channel map
00201   map<PerElecCrate::ChannelId_type,PerElecFeeChannel*> chan;
00202   if(m_saveChannelData){
00203     // Save channel data if requested
00204     const map<FeeChannelId, ElecFeeChannel>& in_channels = transFeeCrate.channelData();
00205     map<FeeChannelId, ElecFeeChannel>::const_iterator it, done=in_channels.end();
00206     for( it = in_channels.begin() ; it != done ; ++it ){
00207       chan[(it->first).fullPackedData()] = convert( it->second ) ;
00208     }
00209   }
00210   
00211   // make board energy map
00212   std::map<PerElecCrate::BoardId_type,AnalogSignal> BrdEnergy;
00213   // make board nHit map
00214   std::map<PerElecCrate::BoardId_type,DigitalSignal> BrdnHit;
00215     
00216   if(m_saveBoardData){
00217 
00218     const map<FeeChannelId,AnalogSignal> in_energy = transFeeCrate.esum();
00219     map<FeeChannelId,AnalogSignal>::const_iterator eIt;
00220     for(eIt = in_energy.begin() ; eIt != in_energy.end() ; ++eIt){
00221       BrdEnergy[(eIt->first).fullPackedData()] = eIt->second;
00222     }
00223 
00224     const map<FeeChannelId,DigitalSignal> in_nh = transFeeCrate.nhit();
00225     map<FeeChannelId,DigitalSignal>::const_iterator nIt;
00226     for(nIt = in_nh.begin() ; nIt != in_nh.end() ; ++nIt){
00227       BrdnHit[(nIt->first).fullPackedData()] = nIt->second;
00228     }
00229 
00230   }
00231   
00232   // make the esum vectors
00233   AnalogSignal  ues;
00234   AnalogSignal  les;
00235   AnalogSignal  tes;
00236   DigitalSignal des;
00237   
00238   if(m_saveEsumData){
00239       ues = transFeeCrate.esumUpper();
00240       les = transFeeCrate.esumLower();
00241       tes = transFeeCrate.esumTotal();
00242       des = transFeeCrate.esumADC();
00243   }
00244     
00245   return new PerElecFeeCrate(det,chan,BrdEnergy,BrdnHit,ues,les,tes,des);
00246 }

PerElecPulseCollection * ElecHeaderCnv::convert ( const DayaBay::ElecPulseCollection transPCol  ) 

Definition at line 275 of file ElecHeaderCnv.cc.

00275                                                                                   {
00276   PerElecPulseCollection::PulseContainer out_pulses;
00277   ElecPulseCollection::PulseContainer in_pulses = transPCol.pulses();
00278   ElecPulseCollection::PulseContainer::iterator it;
00279   
00280   for(it = in_pulses.begin(); it != in_pulses.end(); ++it){
00281     out_pulses.push_back( convert(**(it)) );
00282   }
00283   
00284   short int det = (transPCol.detector()).siteDetPackedData();
00285   return new PerElecPulseCollection(det,out_pulses);
00286 }

PerElecPulse * ElecHeaderCnv::convert ( const DayaBay::ElecPulse transPulse  ) 

Definition at line 288 of file ElecHeaderCnv.cc.

00288                                                                {
00289   double out_t    = transPulse.time();
00290   int    out_cid  = (transPulse.channelId()).fullPackedData();
00291   float  out_amp  = transPulse.amplitude();
00292   int    out_type = transPulse.type();
00293   // PerSimHit* simhit = ...
00294   return new PerElecPulse( out_t, out_cid, out_amp, out_type);
00295 }

ElecCrateHeader * ElecHeaderCnv::convert ( const PerElecCrateHeader perCH  ) 

Definition at line 299 of file ElecHeaderCnv.cc.

00299                                                                       {
00300   MsgStream log(msgSvc(), "ElecHeaderCnv");
00301 
00302   ElecCrateHeader *out_header = new ElecCrateHeader(); // make header to return;
00303   std::vector<PerElecCrate*> cratevec = perCH.crates;
00304   std::vector<PerElecCrate*>::iterator it;
00305   for(it = cratevec.begin(); it != cratevec.end(); ++it){
00306     PerElecCrate *perCrate = *it;
00307     if(perCrate==0) {
00308       log<<MSG::ERROR<<"What? You got a zero pointer from file?"<<endreq;
00309       continue;  // drop this turn
00310     }
00311     ElecCrate *transCrate = convert( *perCrate );
00312     // wangzhe
00313     if( transCrate==0 ) {
00314       log<<MSG::ERROR<<"What? A null pointer for a ElecCrate?"<<endreq;
00315       continue;  // drop this turn
00316     }
00317     // wz
00318     out_header->addCrate(transCrate);
00319   }
00320   return out_header;
00321 }

ElecPulseHeader * ElecHeaderCnv::convert ( const PerElecPulseHeader perPH  ) 

Definition at line 323 of file ElecHeaderCnv.cc.

00323                                                                       {
00324   ElecPulseHeader *out_pulseH = new ElecPulseHeader();
00325   PerElecPulseHeader::detCollMap colmap = perPH.pulseCollections;
00326   PerElecPulseHeader::detCollMap::iterator it;
00327   for(it=colmap.begin();it!=colmap.end();++it){
00328     ElecPulseCollection *coll = convert( *(it->second));
00329     coll->setHeader(out_pulseH);
00330     Detector det(it->first);
00331     coll->setDetector(det);
00332     out_pulseH->addPulseCollection(coll);
00333   }
00334   return out_pulseH;
00335 }

ElecCrate * ElecHeaderCnv::convert ( const PerElecCrate perCrate  ) 

Definition at line 337 of file ElecHeaderCnv.cc.

00337                                                              {
00338   Detector det(perCrate.detId);
00339   
00340   if(det.detectorId() == DetectorId::kUnknown){
00341       return 0; 
00342   }else if( det.detectorId() != DetectorId::kRPC ){
00343       return convert( static_cast<const PerElecFeeCrate&>(perCrate) );
00344   }else{
00345       return convert( static_cast<const PerElecFecCrate&>(perCrate) ); 
00346   }
00347   
00348   return 0;
00349 }

ElecFeeChannel * ElecHeaderCnv::convert ( const PerElecFeeChannel perChannel  ) 

Definition at line 351 of file ElecHeaderCnv.cc.

00351                                                                          {
00352   ElecFeeChannel *outCh = new ElecFeeChannel();
00353   outCh->setHit(perChannel.nHit);
00354   outCh->setAdcHigh(perChannel.adcHigh);
00355   outCh->setAdcLow(perChannel.adcLow);
00356   outCh->setEnergy(perChannel.energy);
00357   outCh->setTdc(perChannel.tdc);
00358   return outCh;
00359 }

ElecFecCrate * ElecHeaderCnv::convert ( const PerElecFecCrate perFecCrate  ) 

Definition at line 361 of file ElecHeaderCnv.cc.

00361                                                                       {
00362   // get rid of unused variable warning
00363   return 0;
00364 }

ElecFeeCrate * ElecHeaderCnv::convert ( const PerElecFeeCrate perFeeCrate  ) 

Definition at line 366 of file ElecHeaderCnv.cc.

00366                                                                       {
00367   ElecFeeCrate *out_crate = new  ElecFeeCrate( Detector(perFeeCrate.detId) , 0);
00368   
00369   // convert channels
00370   map<PerElecCrate::ChannelId_type,PerElecFeeChannel*> chan = perFeeCrate.channels;
00371   map<PerElecCrate::ChannelId_type,PerElecFeeChannel*>::iterator chIt;
00372   for(chIt=chan.begin();chIt!=chan.end();++chIt){
00373     FeeChannelId feeId(chIt->first);
00374     PerElecFeeChannel* feeCh = chIt->second;
00375     out_crate->channel(feeId) = *convert( *feeCh );
00376   }
00377   
00378   // convert NHit
00379   std::map<PerElecCrate::BoardId_type,DigitalSignal> BrdnHit = perFeeCrate.boardNHit;
00380   std::map<PerElecCrate::BoardId_type,DigitalSignal>::iterator nhIt;
00381   for(nhIt=BrdnHit.begin();nhIt!=BrdnHit.end();++nhIt){
00382     FeeChannelId feeId(nhIt->first);
00383     out_crate->nhitSignal(feeId) = nhIt->second;
00384   }
00385   
00386   // convert ESum
00387   std::map<PerElecCrate::BoardId_type,AnalogSignal> BrdeSum = perFeeCrate.boardEnergy;
00388   std::map<PerElecCrate::BoardId_type,AnalogSignal>::iterator esIt;
00389   for(esIt=BrdeSum.begin();esIt!=BrdeSum.end();++esIt){
00390     FeeChannelId feeId(esIt->first);
00391     out_crate->esumSignal(feeId) = esIt->second;
00392   }
00393   
00394   out_crate->setEsumTotal(perFeeCrate.totalESum);
00395   out_crate->setEsumUpper(perFeeCrate.upperESum);
00396   out_crate->setEsumLower(perFeeCrate.lowerESum);
00397   out_crate->setEsumADC(perFeeCrate.digitalESum);
00398   
00399   return out_crate;  
00400 }

ElecPulseCollection * ElecHeaderCnv::convert ( const PerElecPulseCollection perEPC  ) 

Definition at line 402 of file ElecHeaderCnv.cc.

00402                                                                                {
00403   ElecPulseCollection* out_pcol = new ElecPulseCollection();
00404   ElecPulseCollection::PulseContainer out_pulseCon;
00405   const std::vector<PerElecPulse*>& in_pulseCon = perEPC.pulses;
00406   std::vector<PerElecPulse*>::const_iterator it;
00407   for(it=in_pulseCon.begin();it!=in_pulseCon.end();++it){
00408     ElecPulse *ep = convert(**it);
00409     ep->setPc(out_pcol);
00410     out_pulseCon.push_back(ep);
00411   }
00412   out_pcol->setPulses(out_pulseCon);
00413   return out_pcol;
00414 }

ElecPulse * ElecHeaderCnv::convert ( const PerElecPulse perEP  ) 

Definition at line 416 of file ElecHeaderCnv.cc.

00416                                                           {
00417   ElecPulse *out_pulse = new ElecPulse();
00418   out_pulse->setTime(perEP.time);
00419   FeeChannelId feeId(perEP.channelId);
00420   out_pulse->setChannelId(feeId);
00421   out_pulse->setAmplitude(perEP.amplitude);
00422   out_pulse->setType(perEP.type);  
00423   //out_pulse->setAncestor()
00424   return out_pulse;
00425 }

PerElecHeader & RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::getPerInputObject (  )  [inherited]

PerElecHeader & RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::getPerOutputObject (  )  [inherited]

const RootIOBaseObject * RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::getBaseInputObject (  )  [virtual, inherited]

Implements RootIOBaseCnv.

const RootIOBaseObject * RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::getBaseOutputObject (  )  [virtual, inherited]

Implements RootIOBaseCnv.

virtual StatusCode RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::TranObjectToPerObject ( DataObject dat,
const RootOutputAddress  
) [virtual, inherited]

Implements RootIOBaseCnv.

virtual StatusCode RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::PerObjectToTranObject ( DataObject *&  dat  )  [virtual, inherited]

Implements RootIOBaseCnv.

virtual RootInputStream * RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::makeInputStream ( const RootInputAddress ria  )  [virtual, inherited]

Implements RootIOBaseCnv.

virtual RootOutputStream * RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::makeOutputStream ( const RootOutputAddress ria  )  [virtual, inherited]

Implements RootIOBaseCnv.

virtual long RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::repSvcType (  )  const [virtual, inherited]

Reimplemented from RootIOBaseCnv.

virtual StatusCode RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::initialize (  )  [virtual, inherited]

Reimplemented from RootIOBaseCnv.

virtual StatusCode RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::finalize (  )  [virtual, inherited]

Reimplemented from RootIOBaseCnv.

virtual StatusCode RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::createObj ( IOpaqueAddress addr,
DataObject *&  dat 
) [virtual, inherited]

Reimplemented from RootIOBaseCnv.

virtual StatusCode RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::createRep ( DataObject pObject,
IOpaqueAddress *&  refpAddress 
) [virtual, inherited]

Reimplemented from RootIOBaseCnv.

int RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::commit ( const RootOutputAddress roa  )  [inherited]

Reimplemented from RootIOBaseCnv.

RootIOBaseCnv * RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::otherConverter ( int  clID  )  [inherited]

Reimplemented from RootIOBaseCnv.

virtual StatusCode RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::queryInterface ( const InterfaceID riid,
void **  ppvInterface 
) [virtual, inherited]

Reimplemented from RootIOBaseCnv.

virtual unsigned long RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::addRef (  )  [virtual, inherited]

Reimplemented from RootIOBaseCnv.

virtual unsigned long RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::release (  )  [virtual, inherited]

Reimplemented from RootIOBaseCnv.

virtual StatusCode RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::setDataProvider ( IDataProviderSvc svc  )  [virtual, inherited]

Reimplemented from RootIOBaseCnv.

virtual IDataProviderSvc * RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::dataProvider (  )  const [virtual, inherited]

Reimplemented from RootIOBaseCnv.

virtual StatusCode RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::setConversionSvc ( IConversionSvc svc  )  [virtual, inherited]

Reimplemented from RootIOBaseCnv.

virtual IConversionSvc * RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::conversionSvc (  )  const [virtual, inherited]

Reimplemented from RootIOBaseCnv.

virtual StatusCode RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::setAddressCreator ( IAddressCreator creator  )  [virtual, inherited]

Reimplemented from RootIOBaseCnv.

virtual IAddressCreator * RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::addressCreator (  )  const [virtual, inherited]

Reimplemented from RootIOBaseCnv.

virtual const CLID & RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::objType (  )  const [virtual, inherited]

Reimplemented from RootIOBaseCnv.

virtual long RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::i_repSvcType (  )  const [virtual, inherited]

Reimplemented from RootIOBaseCnv.

virtual StatusCode RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::updateObj ( IOpaqueAddress pAddress,
DataObject refpObject 
) [virtual, inherited]

Reimplemented from RootIOBaseCnv.

virtual StatusCode RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::updateObjRefs ( IOpaqueAddress pAddress,
DataObject pObject 
) [virtual, inherited]

Reimplemented from RootIOBaseCnv.

virtual StatusCode RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::updateRep ( IOpaqueAddress pAddress,
DataObject pObject 
) [virtual, inherited]

Reimplemented from RootIOBaseCnv.

virtual StatusCode RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::updateRepRefs ( IOpaqueAddress pAddress,
DataObject pObject 
) [virtual, inherited]

Reimplemented from RootIOBaseCnv.

StatusCode RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::service ( const std::string &  name,
T *&  psvc,
bool  createIf = false 
) const [inherited]

Reimplemented from RootIOBaseCnv.

StatusCode RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::service ( const std::string &  type,
const std::string &  name,
T *&  psvc 
) const [inherited]

Reimplemented from RootIOBaseCnv.

static unsigned char RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::storageType (  )  [static, inherited]

Reimplemented from RootIOBaseCnv.

static const InterfaceID & RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::interfaceID (  )  [static, inherited]

Reimplemented from RootIOBaseCnv.

static const InterfaceID & RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::interfaceID (  )  [static, inherited]

Reimplemented from RootIOBaseCnv.

ISvcLocator * RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::serviceLocator (  )  const [protected, inherited]

Reimplemented from RootIOBaseCnv.

IMessageSvc * RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::msgSvc (  )  const [protected, inherited]

Reimplemented from RootIOBaseCnv.

IMessageSvc * RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::messageService (  )  const [protected, inherited]

Reimplemented from RootIOBaseCnv.

IDataManagerSvc * RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::dataManager (  )  const [protected, inherited]

Reimplemented from RootIOBaseCnv.


Member Data Documentation

bool ElecHeaderCnv::m_savePulseData [private]

Definition at line 82 of file ElecHeaderCnv.h.

bool ElecHeaderCnv::m_saveChannelData [private]

Definition at line 85 of file ElecHeaderCnv.h.

bool ElecHeaderCnv::m_saveBoardData [private]

Definition at line 88 of file ElecHeaderCnv.h.

bool ElecHeaderCnv::m_saveEsumData [private]

Definition at line 91 of file ElecHeaderCnv.h.

RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::INVALID_ADDRESS [inherited]

Reimplemented from RootIOBaseCnv.

RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::INVALID_OBJECT [inherited]

Reimplemented from RootIOBaseCnv.

RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::NO_MEMORY [inherited]

Reimplemented from RootIOBaseCnv.

RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::BAD_STORAGE_TYPE [inherited]

Reimplemented from RootIOBaseCnv.

RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::NO_SOURCE_OBJECT [inherited]

Reimplemented from RootIOBaseCnv.

RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::ICONVERSIONSVC_LAST_ERROR [inherited]

Reimplemented from RootIOBaseCnv.

std::string RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::m_perclassName [protected, inherited]

PerElecHeader * RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::m_perInObj [protected, inherited]

PerElecHeader * RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::m_perOutObj [protected, inherited]

IRootIOSvc * RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::m_rioSvc [protected, inherited]

Reimplemented from RootIOBaseCnv.

IConversionSvc * RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::m_cnvSvc [protected, inherited]

Reimplemented from RootIOBaseCnv.

RootInputStream * RootIOTypedCnv< PerElecHeader , DayaBay::ElecHeader >::m_ris [protected, inherited]

Reimplemented from RootIOBaseCnv.


The documentation for this class was generated from the following files:
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:32:54 2011 for PerElecEvent by doxygen 1.4.7