TreeTofElecDataCnv Class Reference

#include <TreeTofQElecCnv.h>

Inheritance diagram for TreeTofElecDataCnv:

TreeCalBaseCnv Converter< Ty1, Ty2 > List of all members.

Public Types

typedef Ty1 source
typedef Ty2 destination

Public Member Functions

const CLID & objType () const
 TreeTofElecDataCnv (ISvcLocator *svc)
virtual ~TreeTofElecDataCnv ()
virtual long repSvcType () const
virtual StatusCode initialize ()
virtual StatusCode finalize ()
virtual StatusCode createObj (IOpaqueAddress *addr, DataObject *&refpObject)
ICalibTreeSvcgetCalibTreeSvc ()
virtual StatusCode createRoot (const std::string &fname, CalibData::CalibBase1 *pTDSObj)
destinationoperator (const source &) const

Static Public Member Functions

static const CLID & classID ()
static const unsigned char storageType ()

Protected Member Functions

virtual StatusCode i_createObj (IOpaqueAddress *address, DataObject *&refpObject)
virtual StatusCode internalCreateObj (DataObject *&refpObject, IOpaqueAddress *address)
virtual StatusCode i_processObj (DataObject *pObject, IOpaqueAddress *address)
 In case there is additional work to do on the created object.
virtual StatusCode fillRoot (CalibData::CalibBase *pTDSObj, TObject *pRootObj)
void setBaseInfo (CalibData::CalibBase1 *pObj)
 Another utility for derived classes to use.
virtual destinationconvert (const source &) const =0

Protected Attributes

ICalibTreeSvcm_treeSvc
ICalibMetaCnvSvcm_metaSvc
IInstrumentNamem_instrSvc
int m_serNo
int m_runfrm
int m_runto
TFile * m_outFile
TTree * m_ttree
TFile * m_inFile
TDirectory * m_saveDir

Friends

class CnvFactory< TreeTofElecDataCnv >

Detailed Description

Base class for CAL calibration converters from Ttrees to TCDS. All such converters need to do certain things, which are handled here. Methods common to *all* calibrations are in the base class TreeCalBaseCnv

Author:
huang bin

Definition at line 20 of file TreeTofQElecCnv.h.


Member Typedef Documentation

template<class Ty1, class Ty2>
typedef Ty2 Converter< Ty1, Ty2 >::destination [inherited]

Definition at line 19 of file Converter.h.

template<class Ty1, class Ty2>
typedef Ty1 Converter< Ty1, Ty2 >::source [inherited]

Definition at line 18 of file Converter.h.


Constructor & Destructor Documentation

TreeTofElecDataCnv::TreeTofElecDataCnv ( ISvcLocator *  svc  ) 

Definition at line 31 of file TreeTofQElecCnv.cxx.

00031                                                         :
00032         TreeCalBaseCnv(svc, CLID_TofQ_Elec) { 
00033 
00034         }

virtual TreeTofElecDataCnv::~TreeTofElecDataCnv (  )  [inline, virtual]

Definition at line 29 of file TreeTofQElecCnv.h.

00029 {};


Member Function Documentation

const CLID & TreeTofElecDataCnv::classID (  )  [static]

Definition at line 41 of file TreeTofQElecCnv.cxx.

References CLID_TofQ_Elec.

00041                                         {
00042         return CLID_TofQ_Elec;
00043 }

template<class Ty1, class Ty2>
virtual destination* Converter< Ty1, Ty2 >::convert ( const source  )  const [protected, pure virtual, inherited]

StatusCode TreeCalBaseCnv::createObj ( IOpaqueAddress *  addr,
DataObject *&  refpObject 
) [virtual, inherited]

Create the transient representation of an object, given an opaque address. This and the following update method comprise the core functionality of calibration converters.

Definition at line 111 of file TreeCalBaseCnv.cxx.

References Bes_Common::DEBUG, TreeCalBaseCnv::internalCreateObj(), and msgSvc().

00112                                                            {
00113   //  StatusCode ret;
00114 
00115   // first do the things we always need:
00116   //   First string parameter of opaque address is file ident
00117   MsgStream log(msgSvc(), "TreeCalBaseCnv");
00118    log << MSG::DEBUG<<"TreeCalBaseCnv::createObj( starting ...."<<endreq;
00119  //  const std::string* par = addr->par();
00120 
00121  // std::string par0 = par[0];
00122    
00123 //  return internalCreateObj(par0, refpObject, addr);
00124   return internalCreateObj(refpObject, addr);
00125 
00126 }

StatusCode TreeCalBaseCnv::createRoot ( const std::string fname,
CalibData::CalibBase1 pTDSObj 
) [virtual, inherited]

Create ROOT file corresponding to TDS object input. Default implementation is to return an error. Must be separately implemented for each calibration type.

Parameters:
fname Filename for output file
pTDSObj Pointer to tds object to be converted

Definition at line 89 of file TreeCalBaseCnv.cxx.

References calibUtil::ERROR, and msgSvc().

00090                                                                        {
00091   MsgStream log(msgSvc(), "TreeCalBaseCnv");
00092   log << MSG::ERROR 
00093       << "createRoot method not implemented for this calibration type" 
00094       << endreq;
00095   return StatusCode::FAILURE;
00096 }

StatusCode TreeCalBaseCnv::fillRoot ( CalibData::CalibBase pTDSObj,
TObject *  pRootObj 
) [protected, virtual, inherited]

Given a pointer to a TDS object which can be cast to "our" type, fill in corresponding information in the corresponding root class

Parameters:
pTDSObj Pointer to tds object to be converted
pRootObj Pointer to destination root object
...maybe don't need pRootObj argument; keep this as the (protected) data member m_rootObj. Or else this routine could set the protected member to this passed-in value

Definition at line 100 of file TreeCalBaseCnv.cxx.

00101                                                           {
00102 
00103   // Get instrument name from InstrumentName service  Now handled by 
00104   // TreeCalBaseCnv
00105   //  TString instr = TString((m_instrSvc->getInstrumentName()).c_str());
00106   //  pRootObj->setInstrument(instr);
00107   return StatusCode::SUCCESS;
00108 }

StatusCode TreeCalBaseCnv::finalize (  )  [virtual, inherited]

Definition at line 82 of file TreeCalBaseCnv.cxx.

00082                                     {
00083   return Converter::finalize();
00084 }

ICalibTreeSvc* TreeCalBaseCnv::getCalibTreeSvc (  )  [inline, inherited]

Definition at line 58 of file TreeCalBaseCnv.h.

References TreeCalBaseCnv::m_treeSvc.

00058                                    {
00059     return m_treeSvc;
00060   }

StatusCode TreeTofElecDataCnv::i_createObj ( IOpaqueAddress *  address,
DataObject *&  refpObject 
) [protected, virtual]

This creates the transient representation of an object from the corresponding ROOT object. This actually does the "new" operation and deals with the attributes of the node. This base class implementation does nothing; it should not normally be called because it doesn't correspond to any TCDS class. Instead, i_createObj of some derived class will be called.

Parameters:
fname The ROOT file to be read in to be used to builds the object
refpObject the object to be built
Returns:
status depending on the completion of the call

Reimplemented from TreeCalBaseCnv.

Definition at line 45 of file TreeTofQElecCnv.cxx.

References Bes_Common::DEBUG, msgSvc(), num, num1, TreeAddress::pp(), CalibData::EndcapElec::setNum(), CalibData::BarrelElec::setNumEast(), CalibData::BarrelElec::setNumWest(), CalibData::EndcapElec::setP(), CalibData::BarrelElec::setP1(), CalibData::BarrelElec::setP2(), CalibData::EndcapElec::setSimP(), CalibData::BarrelElec::setSimP1(), and CalibData::BarrelElec::setSimP2().

00046                                          {
00047 
00048         MsgStream log(msgSvc(), "TreeTofElecDataCnv");
00049         log<<MSG::DEBUG<<"SetProperty"<<endreq;
00050 
00051         TreeAddress* add = dynamic_cast<TreeAddress*>(addr);
00052         DatabaseRecord *records=add->pp();
00053 
00054         TBufferFile *buf1 = new TBufferFile(TBuffer::kRead);
00055         TBufferFile *buf2 = new TBufferFile(TBuffer::kRead);
00056         TBufferFile *buf3 = new TBufferFile(TBuffer::kRead);
00057         TBufferFile *buf4 = new TBufferFile(TBuffer::kRead);
00058         TBufferFile *buf5 = new TBufferFile(TBuffer::kRead);
00059         TBufferFile *buf6 = new TBufferFile(TBuffer::kRead);
00060         TBufferFile *buf7 = new TBufferFile(TBuffer::kRead);
00061         TBufferFile *buf8 = new TBufferFile(TBuffer::kRead);
00062 
00063         buf1->SetBuffer((*records)["BarBoardNum"],512000,kFALSE);
00064         buf2->SetBuffer((*records)["EndBoardNum"],512000,kFALSE);
00065         buf3->SetBuffer((*records)["QELecBarParEast"],512000,kFALSE);
00066         buf4->SetBuffer((*records)["QELecBarParWest"],512000,kFALSE);
00067         buf5->SetBuffer((*records)["QELecEndPar"],512000,kFALSE);
00068         buf6->SetBuffer((*records)["SimQELecBarParEast"],512000,kFALSE);
00069         buf7->SetBuffer((*records)["SimQELecBarParWest"],512000,kFALSE);
00070         buf8->SetBuffer((*records)["SimQELecEndPar"],512000,kFALSE);
00071 
00072         std::cout<<" SftVer is "<<(*records)["SftVer"];
00073         std::cout<<" CalVerSft is "<<(*records)["CalParVer"];
00074         std::cout<<"  File name  is "<<(*records)["FileName"]<<std::endl;
00075 
00076 
00077         TTree *BarBoardNum= new TTree();
00078         TTree *EndBoardNum= new TTree();
00079         TTree *QElecBarParEast = new TTree();
00080         TTree *QElecBarParWest = new TTree();
00081         TTree *QElecEndPar = new TTree();
00082         TTree *SimQElecBarParEast = new TTree();
00083         TTree *SimQElecBarParWest = new TTree();
00084         TTree *SimQElecEndPar = new TTree();
00085         BarBoardNum->Streamer(*buf1);
00086         EndBoardNum->Streamer(*buf2);
00087         QElecBarParEast->Streamer(*buf3);
00088         QElecBarParWest->Streamer(*buf4);
00089         QElecEndPar->Streamer(*buf5);
00090         SimQElecBarParEast->Streamer(*buf6);
00091         SimQElecBarParWest->Streamer(*buf7);
00092         SimQElecEndPar->Streamer(*buf8);
00093 
00094 
00095         CalibData::BarrelElec bTof;
00096         CalibData::EndcapElec eTof;
00097 
00098         std::vector<CalibData::BarrelElec> tmpbTof;//; = new vector<CalibData::bTofCalibBase>;
00099         std::vector<CalibData::EndcapElec> tmpeTof;
00100 
00101         // Read in the object
00102         int cnt;
00103         // read btoftree ------------------------------------------------------------
00104         unsigned int num[4];
00105         double num1[4];
00106         BarBoardNum -> SetBranchAddress("Board", &num1[0]);
00107         BarBoardNum -> SetBranchAddress("Channel", &num1[1]);
00108         BarBoardNum -> SetBranchAddress("Crate", &num1[2]);
00109         BarBoardNum -> SetBranchAddress("Fee", &num1[3]);
00110         double p[11];
00111         QElecBarParEast->SetBranchAddress("P0",&p[0]);
00112         QElecBarParEast->SetBranchAddress("P1",&p[1]);
00113         QElecBarParEast->SetBranchAddress("P2",&p[2]);
00114         QElecBarParEast->SetBranchAddress("P3",&p[3]);
00115         QElecBarParEast->SetBranchAddress("P4",&p[4]);
00116         QElecBarParEast->SetBranchAddress("P5",&p[5]);
00117         QElecBarParEast->SetBranchAddress("P6",&p[6]);
00118         QElecBarParEast->SetBranchAddress("P7",&p[7]);
00119         QElecBarParEast->SetBranchAddress("P8",&p[8]);
00120         QElecBarParEast->SetBranchAddress("P9",&p[9]);
00121         QElecBarParEast->SetBranchAddress("P10",&p[10]);
00122         double p_w[11];
00123         QElecBarParWest->SetBranchAddress("P0",&p_w[0]);
00124         QElecBarParWest->SetBranchAddress("P1",&p_w[1]);
00125         QElecBarParWest->SetBranchAddress("P2",&p_w[2]);
00126         QElecBarParWest->SetBranchAddress("P3",&p_w[3]);
00127         QElecBarParWest->SetBranchAddress("P4",&p_w[4]);
00128         QElecBarParWest->SetBranchAddress("P5",&p_w[5]);
00129         QElecBarParWest->SetBranchAddress("P6",&p_w[6]);
00130         QElecBarParWest->SetBranchAddress("P7",&p_w[7]);
00131         QElecBarParWest->SetBranchAddress("P8",&p_w[8]);
00132         QElecBarParWest->SetBranchAddress("P9",&p_w[9]);
00133         QElecBarParWest->SetBranchAddress("P10",&p_w[10]);
00134         double p_se[11];
00135         SimQElecBarParEast->SetBranchAddress("P0",&p_se[0]);
00136         SimQElecBarParEast->SetBranchAddress("P1",&p_se[1]);
00137         SimQElecBarParEast->SetBranchAddress("P2",&p_se[2]);
00138         SimQElecBarParEast->SetBranchAddress("P3",&p_se[3]);
00139         SimQElecBarParEast->SetBranchAddress("P4",&p_se[4]);
00140         SimQElecBarParEast->SetBranchAddress("P5",&p_se[5]);
00141         SimQElecBarParEast->SetBranchAddress("P6",&p_se[6]);
00142         SimQElecBarParEast->SetBranchAddress("P7",&p_se[7]);
00143         SimQElecBarParEast->SetBranchAddress("P8",&p_se[8]);
00144         SimQElecBarParEast->SetBranchAddress("P9",&p_se[9]);
00145         SimQElecBarParEast->SetBranchAddress("P10",&p_se[10]);
00146         double p_sw[11];
00147         SimQElecBarParWest->SetBranchAddress("P0",&p_sw[0]);
00148         SimQElecBarParWest->SetBranchAddress("P1",&p_sw[1]);
00149         SimQElecBarParWest->SetBranchAddress("P2",&p_sw[2]);
00150         SimQElecBarParWest->SetBranchAddress("P3",&p_sw[3]);
00151         SimQElecBarParWest->SetBranchAddress("P4",&p_sw[4]);
00152         SimQElecBarParWest->SetBranchAddress("P5",&p_sw[5]);
00153         SimQElecBarParWest->SetBranchAddress("P6",&p_sw[6]);
00154         SimQElecBarParWest->SetBranchAddress("P7",&p_sw[7]);
00155         SimQElecBarParWest->SetBranchAddress("P8",&p_sw[8]);
00156         SimQElecBarParWest->SetBranchAddress("P9",&p_sw[9]);
00157         SimQElecBarParWest->SetBranchAddress("P10",&p_sw[10]);
00158 
00159         for(cnt=0; cnt<352; cnt++){
00160                 BarBoardNum -> GetEntry(cnt);
00161                 num[0]=num1[0];
00162                 num[1]=num1[1];
00163                 num[2]=num1[2];
00164                 num[3]=num1[3];
00165                 if(cnt%2!=0){
00166                         bTof.setNumWest(num);
00167                 }
00168                 if(cnt%2==0){
00169                         bTof.setNumEast(num);
00170                         int kkk=cnt/2;
00171                         QElecBarParEast->GetEntry(kkk);
00172                         QElecBarParWest->GetEntry(kkk);
00173                         SimQElecBarParEast->GetEntry(kkk);
00174                         SimQElecBarParWest->GetEntry(kkk);
00175                         bTof.setP1(p);
00176                         bTof.setP2(p_w);
00177                         bTof.setSimP1(p_se);
00178                         bTof.setSimP2(p_sw);
00179                 }           
00180                 if(cnt%2!=0)
00181                         tmpbTof.push_back(bTof);
00182         }
00183 
00184         //read etoftree
00185         EndBoardNum -> SetBranchAddress("Board", &num1[0]);
00186         EndBoardNum -> SetBranchAddress("Channel", &num1[1]);
00187         EndBoardNum -> SetBranchAddress("Crate", &num1[2]);
00188         EndBoardNum -> SetBranchAddress("Fee", &num1[3]);
00189         QElecEndPar-> SetBranchAddress("P0",&p[0]);
00190         QElecEndPar->SetBranchAddress("P1",&p[1]);
00191         QElecEndPar->SetBranchAddress("P2",&p[2]);
00192         QElecEndPar->SetBranchAddress("P3",&p[3]);
00193         QElecEndPar->SetBranchAddress("P4",&p[4]);
00194         QElecEndPar->SetBranchAddress("P5",&p[5]);
00195         QElecEndPar->SetBranchAddress("P6",&p[6]);
00196         QElecEndPar->SetBranchAddress("P7",&p[7]);
00197         QElecEndPar->SetBranchAddress("P8",&p[8]);
00198         QElecEndPar->SetBranchAddress("P9",&p[9]);
00199         QElecEndPar->SetBranchAddress("P10",&p[10]);
00200         SimQElecEndPar-> SetBranchAddress("P0",&p_w[0]);
00201         SimQElecEndPar->SetBranchAddress("P1",&p_w[1]);
00202         SimQElecEndPar->SetBranchAddress("P2",&p_w[2]);
00203         SimQElecEndPar->SetBranchAddress("P3",&p_w[3]);
00204         SimQElecEndPar->SetBranchAddress("P4",&p_w[4]);
00205         SimQElecEndPar->SetBranchAddress("P5",&p_w[5]);
00206         SimQElecEndPar->SetBranchAddress("P6",&p_w[6]);
00207         SimQElecEndPar->SetBranchAddress("P7",&p_w[7]);
00208         SimQElecEndPar->SetBranchAddress("P8",&p_w[8]);
00209         SimQElecEndPar->SetBranchAddress("P9",&p_w[9]);
00210         SimQElecEndPar->SetBranchAddress("P10",&p_w[10]);
00211         for(cnt=0; cnt<96; cnt++){
00212                 EndBoardNum->GetEntry(cnt);
00213                 QElecEndPar->GetEntry(cnt);
00214                 SimQElecEndPar->GetEntry(cnt);
00215                 num[0]=num1[0];
00216                 num[1]=num1[1];
00217                 num[2]=num1[2];
00218                 num[3]=num1[3];
00219 
00220                 eTof.setNum(num);
00221                 eTof.setP(p);
00222                 eTof.setSimP(p_w);
00223                 tmpeTof.push_back(eTof);
00224         }
00225 
00226         CalibData::TofElecData *tmpObject = new CalibData::TofElecData(&tmpbTof,&tmpeTof);
00227 
00228 
00229         refpObject=tmpObject;
00230         delete BarBoardNum;
00231         delete EndBoardNum;
00232         delete QElecBarParEast;
00233         delete QElecBarParWest; 
00234         delete QElecEndPar; 
00235         delete SimQElecBarParEast;
00236         delete SimQElecBarParWest; 
00237         delete SimQElecEndPar; 
00238 
00239         return StatusCode::SUCCESS;
00240 
00241 
00242 }

StatusCode TreeCalBaseCnv::i_processObj ( DataObject *  pObject,
IOpaqueAddress *  address 
) [protected, virtual, inherited]

In case there is additional work to do on the created object.

Definition at line 190 of file TreeCalBaseCnv.cxx.

Referenced by TreeCalBaseCnv::internalCreateObj().

00191                                                                       {
00192   return StatusCode::SUCCESS;
00193 }

StatusCode TreeCalBaseCnv::initialize (  )  [virtual, inherited]

Definition at line 46 of file TreeCalBaseCnv.cxx.

References IID_ICalibMetaCnvSvc(), IID_ICalibTreeSvc(), IID_IInstrumentName(), TreeCalBaseCnv::m_instrSvc, TreeCalBaseCnv::m_metaSvc, and TreeCalBaseCnv::m_treeSvc.

00046                                       {
00047   StatusCode status = Converter::initialize();
00048 
00049   IDataProviderSvc* dp;
00050 
00051   // I guess the service names are assigned in jobOptions?
00052 
00053 /*  serviceLocator()->getService ("CalibDataSvc",
00054                                 IID_IDataProviderSvc,
00055                                 (IInterface*&)dp);*/
00056   serviceLocator()->getService ("CalibDataSvc",
00057                                 IDataProviderSvc::interfaceID(),
00058                                 (IInterface*&)dp);
00059   setDataProvider(dp);
00060   
00061   // Locate the Root Conversion Service
00062   serviceLocator()->getService ("CalibTreeCnvSvc",
00063                                 IID_ICalibTreeSvc,
00064                                 (IInterface*&) m_treeSvc);
00065 
00066   // Locate meta conversion service
00067   // Will anything need to be changed here to accommodate possibility
00068   // of two concrete implementations of ICalibMetaCnvSvc?  Would
00069   // have different storage types.  Could specify type desired
00070   // as job option.  Ditto for name of class?
00071   serviceLocator()->getService("CalibMySQLCnvSvc", 
00072                                IID_ICalibMetaCnvSvc,
00073                                 (IInterface*&)m_metaSvc);
00074 
00075   serviceLocator()->getService ("CalibDataSvc",
00076                                 IID_IInstrumentName,
00077                                 (IInterface*&)m_instrSvc);
00078 
00079   return status;
00080 }

StatusCode TreeCalBaseCnv::internalCreateObj ( DataObject *&  refpObject,
IOpaqueAddress *  address 
) [protected, virtual, inherited]

This creates the transient representation of an object from the corresponding ROOT object it, then fills it and process it. This implementation actually only calls the i_* methods of the "right" converter to do the job; so the very first thing it does is get a pointer to the appropriate derived converter. Converters typically don't need to override this method but only to override/implement some of the i_* methods.

Parameters:
pRootObj pointer to the ROOT object
refpObject the object to be built
address the opaque address for this object
Returns:
status depending on the completion of the call

Definition at line 131 of file TreeCalBaseCnv.cxx.

References Bes_Common::DEBUG, calibUtil::ERROR, TreeAddress::getRunFrom(), TreeAddress::getRunTo(), TreeCalBaseCnv::i_createObj(), TreeCalBaseCnv::i_processObj(), TreeCalBaseCnv::m_runfrm, TreeCalBaseCnv::m_runto, msgSvc(), TreeCalBaseCnv::setBaseInfo(), and Bes_Common::WARNING.

Referenced by TreeCalBaseCnv::createObj().

00132                                                                    {
00133 
00134   MsgStream log(msgSvc(), "TreeCalBaseCnv");
00135    log << MSG::DEBUG<<"TreeCalBaseCnv::internalCreateObj( starting ..... "<<endreq;
00136    TreeCalBaseCnv* converter = this;
00137   CLID classId = address->clID();
00138 
00139   IConverter* conv = this->conversionSvc()->converter(classId);
00140   if (0 == conv) {
00141     log << MSG::WARNING
00142         << "No proper converter found for classID " << classId
00143             << ", the default converter"
00144             << " will be used. " << endreq;
00145   } else {
00146     converter = dynamic_cast <TreeCalBaseCnv*> (conv);
00147     if (0 == converter) {
00148       log << MSG::ERROR
00149           << "The converter found for classID " << classId
00150               << " was not a descendent of TreeCalBaseCnv as it should be "
00151               << "( was of type " << typeid (*converter).name() << "). "
00152               << "The default converter will be used" << endreq;
00153       converter = this;
00154     }
00155   }
00156 
00157   TreeAddress* treeAddress =  dynamic_cast <TreeAddress*> (address);
00158   m_runfrm = treeAddress->getRunFrom();
00159   m_runto = treeAddress->getRunTo();
00160     //m_runfrm =*( address->ipar());
00161     //m_runto =*( address->ipar()+1);
00162  //   m_runfrm = 100;
00163  //   m_runto =1000;
00164    // creates an object for the node found
00165    StatusCode sc = converter->i_createObj(address, refpObject);
00166      if (sc.isFailure()) {
00167     return sc;
00168   } 
00169      CalibData::CalibBase1* tmpObject =  dynamic_cast <CalibData::CalibBase1*> (refpObject);
00170      setBaseInfo(tmpObject);
00171   // ends up the object construction
00172   sc = converter->i_processObj(refpObject, address);
00173   if (sc.isSuccess()) {
00174     log << MSG::DEBUG << "Successfully created calib. object " << endreq;
00175   }
00176  // closeRead();
00177   return sc;
00178 }

const CLID & TreeTofElecDataCnv::objType (  )  const

Definition at line 37 of file TreeTofQElecCnv.cxx.

References CLID_TofQ_Elec.

00037                                               {
00038         return CLID_TofQ_Elec;
00039 }

template<class Ty1, class Ty2>
destination* Converter< Ty1, Ty2 >::operator ( const source  )  const [inline, inherited]

virtual long TreeTofElecDataCnv::repSvcType (  )  const [inline, virtual]

Definition at line 34 of file TreeTofQElecCnv.h.

References CALIBTREE_StorageType.

00034                                   { 
00035           return CALIBTREE_StorageType; 
00036       } 

void TreeCalBaseCnv::setBaseInfo ( CalibData::CalibBase1 pObj  )  [protected, inherited]

Another utility for derived classes to use.

Another convenience for derived classes: sets information belonging to the calibration base class, namely validity interval and serial number.

Definition at line 196 of file TreeCalBaseCnv.cxx.

References Bes_Common::DEBUG, TreeCalBaseCnv::m_runfrm, TreeCalBaseCnv::m_runto, msgSvc(), CalibData::CalibBase1::setrunfrm(), and CalibData::CalibBase1::setrunto().

Referenced by TreeCalBaseCnv::internalCreateObj().

00196                                                           {
00197    MsgStream log(msgSvc(), "TreeCalBaseCnv");
00198    log << MSG::DEBUG<<"set the runfrm and runto Numbers in the converter"<<endreq;
00199   pObj->setrunfrm(m_runfrm);
00200   pObj->setrunto(m_runto);
00201 }

static const unsigned char TreeCalBaseCnv::storageType (  )  [inline, static, inherited]

Definition at line 62 of file TreeCalBaseCnv.h.

References CALIBTREE_StorageType.

00062 {return CALIBTREE_StorageType;}


Friends And Related Function Documentation

friend class CnvFactory< TreeTofElecDataCnv > [friend]

Definition at line 22 of file TreeTofQElecCnv.h.


Member Data Documentation

TFile* TreeCalBaseCnv::m_inFile [protected, inherited]

Definition at line 212 of file TreeCalBaseCnv.h.

IInstrumentName* TreeCalBaseCnv::m_instrSvc [protected, inherited]

Definition at line 202 of file TreeCalBaseCnv.h.

Referenced by TreeCalBaseCnv::initialize().

ICalibMetaCnvSvc* TreeCalBaseCnv::m_metaSvc [protected, inherited]

Definition at line 201 of file TreeCalBaseCnv.h.

Referenced by TreeCalBaseCnv::initialize().

TFile* TreeCalBaseCnv::m_outFile [protected, inherited]

Definition at line 209 of file TreeCalBaseCnv.h.

int TreeCalBaseCnv::m_runfrm [protected, inherited]

Definition at line 205 of file TreeCalBaseCnv.h.

Referenced by TreeCalBaseCnv::internalCreateObj(), and TreeCalBaseCnv::setBaseInfo().

int TreeCalBaseCnv::m_runto [protected, inherited]

Definition at line 206 of file TreeCalBaseCnv.h.

Referenced by TreeCalBaseCnv::internalCreateObj(), and TreeCalBaseCnv::setBaseInfo().

TDirectory* TreeCalBaseCnv::m_saveDir [protected, inherited]

Definition at line 214 of file TreeCalBaseCnv.h.

int TreeCalBaseCnv::m_serNo [protected, inherited]

Definition at line 204 of file TreeCalBaseCnv.h.

ICalibTreeSvc* TreeCalBaseCnv::m_treeSvc [protected, inherited]

Definition at line 200 of file TreeCalBaseCnv.h.

Referenced by TreeCalBaseCnv::getCalibTreeSvc(), and TreeCalBaseCnv::initialize().

TTree* TreeCalBaseCnv::m_ttree [protected, inherited]

Definition at line 210 of file TreeCalBaseCnv.h.


Generated on Tue Nov 29 23:36:11 2016 for BOSS_7.0.2 by  doxygen 1.4.7