  | 
  
    ATLAS Offline Software
    
   | 
 
 
 
 
Create derived converter to customize the saving of identifiable container.  
 More...
#include <SCT_ClusterContainerCnv.h>
 | 
| virtual SCT_ClusterContainer_PERS *  | createPersistent (InDet::SCT_ClusterContainer *transCont) override | 
|   | 
| virtual InDet::SCT_ClusterContainer *  | createTransient () override | 
|   | 
| virtual StatusCode  | initialize () override | 
|   | Gaudi Service Interface method implementations:  More...
  | 
|   | 
| virtual AthenaPoolTopLevelTPCnvBase *  | getTopLevelTPCnv () | 
|   | 
| virtual PERS *  | createPersistent (TRANS *obj)=0 | 
|   | 
| virtual PERS *  | createPersistentWithKey (TRANS *obj, const std::string &) override | 
|   | method to be implemented by the developer.  More...
  | 
|   | 
| virtual TRANS *  | createTransientWithKey (const std::string &) override | 
|   | method to be implemented by the developer.  More...
  | 
|   | 
| template<class P >  | 
| P *  | poolReadObject () | 
|   | Read object of type P.  More...
  | 
|   | 
| template<class P >  | 
| void  | poolReadObject (TopLevelTPCnvBase &tlp_converter) | 
|   | Read object of type P (plus all extending objects) using the indicated top-level TP converter.  More...
  | 
|   | 
| void  | keepPoolObj (PERS *obj, const std::string &output) | 
|   | Remember the POOL object to be written out (will be deleted after commit)  More...
  | 
|   | 
| virtual StatusCode  | transToPers (TRANS *, PERS *&) override | 
|   | Obsolete methods replaced by createPersistent() and createTransient() obsolete.  More...
  | 
|   | 
| virtual StatusCode  | persToTrans (TRANS *&, PERS *) override | 
|   | obsolete  More...
  | 
|   | 
| virtual StatusCode  | DataObjectToPers (DataObject *pObj, IOpaqueAddress *&pAddr) override | 
|   | Convert an object into Persistent.  More...
  | 
|   | 
| virtual StatusCode  | DataObjectToPool (IOpaqueAddress *pAddr, DataObject *pObj) override | 
|   | Write an object into POOL.  More...
  | 
|   | 
| virtual StatusCode  | PoolToDataObject (DataObject *&pObj, const Token *token, const std::string &key) override | 
|   | Read an object from POOL.  More...
  | 
|   | 
| virtual StatusCode  | cleanUp (const std::string &output) override | 
|   | Callback from the CleanupSvc to delete persistent object in the local list.  More...
  | 
|   | 
| template<class P >  | 
| Placement  | setPlacementForP (P &p, const std::string &key, const std::string &output) | 
|   | Set POOL placement for type P.  More...
  | 
|   | 
| template<class P >  | 
| StatusCode  | objectToPool (P *pObj, std::unique_ptr< Token > &token, const std::string &key, const std::string &output) | 
|   | Write an object into POOL returning its token.  More...
  | 
|   | 
| template<class P >  | 
| StatusCode  | poolToObject (const Token *&token, P *&pObj) | 
|   | Read an object from POOL.  More...
  | 
|   | 
| virtual bool  | compareClassGuid (const Guid &clid) const | 
|   | Compare POOL class GUID with the one of the object being read.  More...
  | 
|   | 
| virtual void  | setToken (const std::string &token) | 
|   | Set the token (in std::string representation) and classID for the object that will be read next.  More...
  | 
|   | 
| virtual Placement  | setPlacement (const std::string &key, const std::string &output) | 
|   | Set POOL placement.  More...
  | 
|   | 
| virtual Placement  | setPlacementWithType (const std::string &tname, const std::string &key, const std::string &output) | 
|   | Set POOL placement hint for a given type.  More...
  | 
|   | 
| virtual const DataObject *  | getDataObject () const | 
|   | 
| double  | phiCorr (double phi) | 
|   | 
| void  | ipCorr (double d0, double z0, double &d0c, double &z0c, double phi0, double eta, double pt) | 
|   | 
Create derived converter to customize the saving of identifiable container. 
Definition at line 27 of file SCT_ClusterContainerCnv.h.
 
◆ BaseType
template<class TRANS , class PERS > 
 
 
◆ CallMutex
◆ ClassMap
◆ ClassMapIt
◆ SCT_ClusterContainerCnv()
      
        
          | SCT_ClusterContainerCnv::SCT_ClusterContainerCnv  | 
          ( | 
          ISvcLocator *  | 
          svcloc | ) | 
           | 
        
      
 
 
◆ addTrack()
◆ classID()
template<class TRANS , class PERS > 
 
 
◆ cleanUp()
template<class TRANS , class PERS > 
  
  | 
      
   | 
  
overrideprotectedvirtualinherited   | 
  
 
Callback from the CleanupSvc to delete persistent object in the local list. 
Reimplemented from AthenaPoolConverter.
 
 
◆ clear()
  
  
      
        
          | void Converter::clear  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
inlineinherited   | 
  
 
 
◆ compareClassGuid()
template<class TRANS , class PERS > 
  
  | 
      
   | 
  
protectedvirtualinherited   | 
  
 
Compare POOL class GUID with the one of the object being read. 
- Parameters
 - 
  
  
 
- Returns
 - true if the type of the object about to be read matches the GUID 
 
 
 
◆ createObj()
  
  
      
        
          | StatusCode AthenaPoolConverter::createObj  | 
          ( | 
          IOpaqueAddress *  | 
          pAddr,  | 
         
        
           | 
           | 
          DataObject *&  | 
          pObj  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
overridevirtualinherited   | 
  
 
Create a transient object from a POOL persistent representation. 
- Parameters
 - 
  
    | pAddr | [IN] IOpaqueAddress of POOL persistent representation.  | 
    | pObj | [OUT] pointer to the transient object.  | 
  
   
Reimplemented in T_AthenaPoolCoolMultChanCnv< COLL_T, ELEM_T, ELEM_P >, T_AthenaPoolCoolMultChanCnv< LArHVScaleCorrComplete, LArConditionsSubset< LArSingleFloatP >, LArSingleFloatSubset_p1 >, and T_AthenaPoolCoolMultChanCnv< TransientClass, LArConditionsSubset< LArSingleFloatP >, LArSingleFloatSubset_p1 >.
Definition at line 62 of file AthenaPoolConverter.cxx.
   65    bool ownTokAddr = 
false;
 
   66    if (tokAddr == 
nullptr || tokAddr->
getToken() == 
nullptr) {
 
   68       auto token = std::make_unique<Token>();
 
   69       token->fromString(*(pAddr->par()));
 
   70       GenericAddress* genAddr = 
dynamic_cast<GenericAddress*
>(pAddr);
 
   72         ATH_MSG_ERROR(
"Dynamic cast failed in AthenaPoolConverter::createObj");
 
   74         return StatusCode::FAILURE;
 
   80       const std::string contextStr = 
std::format(
"[CTXT={:08X}]", 
static_cast<int>(*(pAddr->ipar())));
 
   81       std::strncpy(
text, contextStr.c_str(), 
sizeof(
text) - 1);
 
   90       std::string 
key = pAddr->par()[1];
 
   99    if (pObj == 
nullptr) {
 
  103       delete tokAddr; tokAddr = 
nullptr;
 
  106    if (pObj == 
nullptr) {
 
  107       return StatusCode::FAILURE;
 
  109    return StatusCode::SUCCESS;
 
 
 
 
◆ createPersistent() [1/2]
◆ createPersistent() [2/2]
template<class TRANS , class PERS > 
  
  | 
      
   | 
  
protectedpure virtualinherited   | 
  
 
Implemented in ZdcRawChannelCollectionCnv, TruthParticleContainerCnv, TruthEtIsolationsContainerCnv, TRTUncompressedHitCollectionCnv, TrigTauTracksInfoCnv, TrigTauClusterDetailsCnv, TrigTauClusterCnv, TrigTauCnv, TrigRoiDescriptorCollectionCnv, TrigRoiDescriptorCnv, TrigRNNOutputCnv, TrigOperationalInfoCollectionCnv, TrigOperationalInfoCnv, TrigMonEventCollectionCnv, TrigMonEventCnv, TrigMonConfigCollectionCnv, TrigMonConfigCnv, TrigEMClusterCnv, TrigCompositeCnv, T_AthenaPoolViewVectorCnv< DV >, T_AthenaPoolLegacyCnv< TRANS, PERS, LEGACY >::LegacyCnv, T_AthenaPoolLegacyCnv< TRANS, PERS, LEGACY >, TrackRecordCollectionCnv, TileTTL1ContainerCnv, TileRawChannelContainerCnv, TileMuonReceiverContainerCnv, TileMuContainerCnv, TileL2ContainerCnv, TileHitVectorCnv, TileHitContainerCnv, TileDigitsContainerCnv, TileCosmicMuonContainerCnv, TileBeamElemContainerCnv, LArRawEventContainerCnv< T, P, C >, MuonRdoContainerTPCnv< T, P, CONV >, SimulationHitCollectionCnv, SiHitCollectionCnv, RingerRingsCnv, RecoTimingObjCnv, MuonSpShowerContainerCnv, PhotonContainerCnv, MuonCaloEnergyContainerCnv, MissingEtTruthCnv, MissingEtCaloCnv, MissingETCnv, McEventCollectionCnv, LArTTL1ContainerCnv, LArHitFloatContainerCnv, LArHitContainerCnv, IParticleLinkContainerCnv, InDetLowBetaCandidateCnv, INav4MomLinkContainerCnv, INav4MomAssocsCnv, ElectronContainerCnv, egDetailContainerCnv, egammaContainerCnv, eflowObjectContainerCnv, CaloRingsContainerCnv, CaloCalibrationHitContainerCnv, BCM_RDO_ContainerCnv, AthExFatObjectCnv, AthExElephantinoCnv, AthExDecayCnv, MuonContainerCnv, TauJetContainerCnv, TauDetailsContainerCnv, ALFA_ODHitCollectionCnv, ALFA_ODDigitCollectionCnv, ALFA_LocRecODEvCollectionCnv, ALFA_LocRecEvCollectionCnv, ALFA_LocRecCorrODEvCollectionCnv, ALFA_LocRecCorrEvCollectionCnv, ALFA_HitCollectionCnv, ALFA_GloRecEvCollectionCnv, ALFA_DigitCollectionCnv, ALFA_CLinkEventCnv, AFP_TDSimHitCollectionCnv, AFP_TDLocRecoEvCollectionCnv, AFP_TDDigiCollectionCnv, AFP_SIDSimHitCollectionCnv, AFP_SIDLocRecoEvCollectionCnv, and AFP_SiDigiCollectionCnv.
 
 
◆ createPersistentWithKey()
template<class TRANS , class PERS > 
  
  | 
      
   | 
  
overrideprotectedvirtualinherited   | 
  
 
method to be implemented by the developer. 
It should create the persistent representation of the object, using the default top-level TP converter. 
- Parameters
 - 
  
  
 
- Returns
 - the created persistent representation (by pointer) 
 
Implements T_AthenaPoolCustomCnvWithKey< TRANS, PERS >.
 
 
◆ createRep()
  
  
      
        
          | StatusCode AthenaPoolConverter::createRep  | 
          ( | 
          DataObject *  | 
          pObj,  | 
         
        
           | 
           | 
          IOpaqueAddress *&  | 
          pAddr  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
overridevirtualinherited   | 
  
 
 
◆ createTransient()
Implements T_AthenaPoolCustomCnv< TRANS, PERS >.
Definition at line 38 of file SCT_ClusterContainerCnv.cxx.
   40   static const pool::Guid   p0_guid(
"A180F372-0D52-49C3-8AA0-0939CB0B8179"); 
 
   41   static const pool::Guid   p1_guid(
"657F6546-F5CD-4166-9567-16AD9C96D286"); 
 
   42   static const pool::Guid   p2_guid(
"ECE7D831-0F31-4E6F-A6BE-2ADDE90083BA"); 
 
   43   static const pool::Guid   p3_guid(
"623F5836-369F-4A94-9DD4-DAD728E93C13"); 
 
   49     std::unique_ptr< SCT_ClusterContainer_PERS >  p_coll( poolReadObject< SCT_ClusterContainer_PERS >() );
 
   54     std::unique_ptr< InDet::SCT_ClusterContainer_tlp1 >  p_coll( poolReadObject< InDet::SCT_ClusterContainer_tlp1 >() );
 
   59     std::unique_ptr< InDet::SCT_ClusterContainer_p2 >  p_coll( poolReadObject< InDet::SCT_ClusterContainer_p2 >() );
 
   64     std::unique_ptr< SCT_ClusterContainer_p0 >  col_vect( poolReadObject< SCT_ClusterContainer_p0 >() );
 
   68      throw std::runtime_error(
"Unsupported persistent version of SCT_ClusterContainer");
 
 
 
 
◆ createTransientWithKey()
template<class TRANS , class PERS > 
  
  | 
      
   | 
  
overrideprotectedvirtualinherited   | 
  
 
method to be implemented by the developer. 
It has to find out the type of the persistent object to be read (by comparing GUIDs), read it using poolReadObject<P>(), call TLP converter to create a transient representation and return it. if the version 1 of poolReadObject is used, the persistent object HAS TO BE DELETED manually. 
Implements T_AthenaPoolCustomCnvWithKey< TRANS, PERS >.
 
 
◆ DataObjectToPers()
template<class TRANS , class PERS > 
  
  | 
      
   | 
  
overrideprotectedvirtualinherited   | 
  
 
Convert an object into Persistent. 
- Parameters
 - 
  
    | pObj | [IN] pointer to the transient object.  | 
    | key | [IN] StoreGate key (string) - placement hint to generate POOL container name  | 
  
   
Reimplemented from T_AthenaPoolCustCnv< TRANS, PERS >.
 
 
◆ DataObjectToPool()
template<class TRANS , class PERS > 
  
  | 
      
   | 
  
overrideprotectedvirtualinherited   | 
  
 
 
◆ detStore()
◆ fillRepRefs()
  
  
      
        
          | StatusCode AthenaPoolConverter::fillRepRefs  | 
          ( | 
          IOpaqueAddress *  | 
          pAddr,  | 
         
        
           | 
           | 
          DataObject *  | 
          pObj  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
overridevirtualinherited   | 
  
 
 
◆ finalize()
  
  
      
        
          | StatusCode AthenaPoolConverter::finalize  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
overridevirtualinherited   | 
  
 
 
◆ getDataObject()
  
  
      
        
          | const DataObject * AthenaPoolConverter::getDataObject  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
protectedvirtualinherited   | 
  
 
 
◆ getTopLevelTPCnv()
◆ initialize()
  
  
      
        
          | StatusCode SCT_ClusterContainerCnv::initialize  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
overrideprotectedvirtual   | 
  
 
 
◆ initMessaging()
  
  
      
        
          | void AthMessaging::initMessaging  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
privateinherited   | 
  
 
Initialize our message level and MessageSvc. 
This method should only be called once. 
Definition at line 39 of file AthMessaging.cxx.
 
 
◆ ipCorr()
  
  
      
        
          | void Converter::ipCorr  | 
          ( | 
          double  | 
          d0,  | 
         
        
           | 
           | 
          double  | 
          z0,  | 
         
        
           | 
           | 
          double &  | 
          d0c,  | 
         
        
           | 
           | 
          double &  | 
          z0c,  | 
         
        
           | 
           | 
          double  | 
          phi0,  | 
         
        
           | 
           | 
          double  | 
          eta,  | 
         
        
           | 
           | 
          double  | 
          pt  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
inlineprotectedinherited   | 
  
 
Definition at line 257 of file Converter.h.
  261     double sd0 = (
d0 != 0 ? 
d0/fabs(
d0) : 1);
 
  262     double spt = (
pt != 0 ? 
pt/fabs(
pt) : 1);
 
  270       double rc = fabs(
pt)*15.0/(9.0*1.042);
 
  276       double xd01,yd01,xd02,yd02;
 
  279     xd01 = 0; yd01 = 
rc+yc;
 
  280     xd02 = 0; yd02 = -
rc+yc; 
 
  282     xd01 = xc+yc/xc*yc+sqrt(
pow((xc+yc/xc*yc),2)-xc*xc-yc*yc+rc*rc); yd01 = yc/xc*xd01;
 
  283     xd02 = xc+yc/xc*yc-sqrt(
pow((xc+yc/xc*yc),2)-xc*xc-yc*yc+rc*rc); yd02 = yc/xc*xd02;
 
  286       double r1 = sqrt(xd01*xd01+yd01*yd01);
 
  287       double r2 = sqrt(xd02*xd02+yd02*yd02);
 
  292     phiV = atan2(yd01,xd01); 
 
  294     phiV = atan2(yd02,xd02); 
 
  304       d0c = fabs(sqrt(xc*xc+yc*yc)-rc)*
sin(phiV-newphi);
 
  307       double theta_save=
theta;
 
 
 
 
◆ keepPoolObj()
template<class TRANS , class PERS > 
 
Remember the POOL object to be written out (will be deleted after commit) 
- Parameters
 - 
  
    | obj | [IN] persistent object  | 
  
   
 
 
◆ msg() [1/2]
  
  
      
        
          | MsgStream & AthMessaging::msg  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inlineinherited   | 
  
 
The standard message stream. 
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked. 
Definition at line 164 of file AthMessaging.h.
 
 
◆ msg() [2/2]
  
  
      
        
          | MsgStream & AthMessaging::msg  | 
          ( | 
          const MSG::Level  | 
          lvl | ) | 
           const | 
         
       
   | 
  
inlineinherited   | 
  
 
The standard message stream. 
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked. 
Definition at line 179 of file AthMessaging.h.
  180 { 
return msg() << lvl; }
 
 
 
 
◆ msgLvl()
  
  
      
        
          | bool AthMessaging::msgLvl  | 
          ( | 
          const MSG::Level  | 
          lvl | ) | 
           const | 
         
       
   | 
  
inlineinherited   | 
  
 
Test the output level. 
- Parameters
 - 
  
    | lvl | The message level to test against  | 
  
   
- Returns
 - boolean Indicating if messages at given level will be printed 
 
- Return values
 - 
  
    | true | Messages at level "lvl" will be printed  | 
  
   
Definition at line 151 of file AthMessaging.h.
 
 
◆ objectToPool()
template<class TRANS , class PERS > 
template<class P > 
 
Write an object into POOL returning its token. 
- Parameters
 - 
  
    | pObj | [IN] pointer to the object to be written.  | 
    | token | [OUT] POOL token of the persistent representation.  | 
    | key | [IN] StoreGate key (string) - placement hint to generate POOL container name  | 
  
   
 
 
◆ persToTrans()
template<class TRANS , class PERS > 
  
  | 
      
   | 
  
inlineoverrideprotectedvirtualinherited   | 
  
 
 
◆ phiCorr()
  
  
      
        
          | double Converter::phiCorr  | 
          ( | 
          double  | 
          phi | ) | 
           | 
         
       
   | 
  
inlineprotectedinherited   | 
  
 
Definition at line 248 of file Converter.h.
  250     if (
phi < -TMath::Pi()) 
phi += 2*TMath::Pi();
 
  251     if (
phi >  TMath::Pi()) 
phi -= 2*TMath::Pi();
 
 
 
 
◆ poolReadObject() [1/2]
template<class TRANS , class PERS > 
template<class P > 
 
Read object of type P. 
This is an exception-throwing version of poolToObject() plus reading of all extending objects. Version 1 - (see createTransient() above) 
- Returns
 - object read from POOL (by pointer) 
 
 
 
◆ poolReadObject() [2/2]
template<class TRANS , class PERS > 
template<class P > 
 
Read object of type P (plus all extending objects) using the indicated top-level TP converter. 
Version 2 - (see createTransient() above) NOTE: the TLP converter will delete the persistent object after createTransient() 
- Parameters
 - 
  
    | tlp_converter | [IN] top-level TP converter to be used when reading  | 
  
   
 
 
◆ PoolToDataObject()
template<class TRANS , class PERS > 
  
  | 
      
   | 
  
overrideprotectedvirtualinherited   | 
  
 
Read an object from POOL. 
- Parameters
 - 
  
    | pObj | [OUT] pointer to the transient object.  | 
    | token | [IN] POOL token of the persistent representation.  | 
    | key | [IN] SG key of the object being read.  | 
  
   
Reimplemented from T_AthenaPoolCustCnv< TRANS, PERS >.
 
 
◆ poolToObject()
template<class TRANS , class PERS > 
template<class P > 
 
Read an object from POOL. 
- Parameters
 - 
  
    | token | [IN] POOL token of the persistent representation.  | 
    | pObj | [OUT] pointer to the object read.  | 
  
   
 
 
◆ repSvcType()
  
  
      
        
          | long AthenaPoolConverter::repSvcType  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
overridevirtualinherited   | 
  
 
 
◆ selectTracks() [1/3]
Definition at line 177 of file Converter.h.
  179     static int hpmap[20] = { 0, 1, 2,  7, 8, 9,  3, 4, 5, 6, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 };
 
  184     while(muonitr!=muonend) { 
 
  186       bool hasInDet = (*muonitr)->hasInDetTrackParticle();
 
  188       if(hasInDet) trackitr=(*muonitr)->inDetTrackParticle();
 
  190       if(!hasInDet) 
continue;
 
  194       CLHEP::HepVector perigeeParams = measPer->parameters();    
 
  195       double pT    = measPer->pT(); 
 
  196       double eta   = measPer->eta();
 
  223       double dof  = 
quality->quality->numberDoF();
 
  227       for ( 
int ih=0 ; ih<20 ; ih++ ) {
 
  236                                  deta, dphi, dz0, dd0, dpT,
 
  238                                  nStrawHits, nTrHits, bitmap, 0,
 
 
 
 
◆ selectTracks() [2/3]
Definition at line 111 of file Converter.h.
  116     static int hpmap[20] = { 0, 1, 2,  7, 8, 9,  3, 4, 5, 6, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 };
 
  118     while ( trackitr!=trackend ) { 
 
  122       CLHEP::HepVector perigeeParams = measPer->parameters();    
 
  123       double pT    = measPer->pT(); 
 
  124       double eta   = measPer->eta();
 
  147       bool expectBL   = 
false; 
 
  151       double dof  = 
quality->numberDoF();
 
  155       for ( 
int ih=0 ; ih<20 ; ih++ ) {
 
  164                                  deta, dphi, dz0, dd0, dpT,
 
  166                                  nStrawHits, nTrHits, bitmap, 0,
 
 
 
 
◆ selectTracks() [3/3]
Definition at line 56 of file Converter.h.
   61     while ( trackitr!=trackend ) { 
 
   63     double eta    = (*trackitr)->param()->eta();
 
   64     double phi    = (*trackitr)->param()->phi0();
 
   65     double z0     = (*trackitr)->param()->z0(); 
 
   66     double pT     = (*trackitr)->param()->pT(); 
 
   67     double d0     = (*trackitr)->param()->a0();
 
   70     double deta    = (*trackitr)->param()->eeta();
 
   71     double dphi    = (*trackitr)->param()->ephi0();
 
   72     double dz0     = (*trackitr)->param()->ez0(); 
 
   73     double dpT     = (*trackitr)->param()->epT(); 
 
   74     double dd0     = (*trackitr)->param()->ea0();
 
   76     int   algoid  = (*trackitr)->algorithmId();           
 
   78     int nBlayerHits = ((*trackitr)->HitPattern() & 0x1);
 
   79     int nPixelHits  = 2*(*trackitr)->NPixelSpacePoints();  
 
   80     int nSctHits    = 2*(*trackitr)->NSCT_SpacePoints();   
 
   81     int nStrawHits  = (*trackitr)->NStrawHits();
 
   82     int nTrHits     = (*trackitr)->NTRHits();
 
   85     bool expectBL   = 
false;                               
 
   87     unsigned hitPattern = (*trackitr)->HitPattern();
 
   88     unsigned multiPattern = 0;
 
   90     double chi2    = (*trackitr)->chi2();
 
   98                                    deta, dphi, dz0, dd0, dpT, 
 
  100                                    nStrawHits, nTrHits, hitPattern, multiPattern, 
 
 
 
 
◆ setLevel()
  
  
      
        
          | void AthMessaging::setLevel  | 
          ( | 
          MSG::Level  | 
          lvl | ) | 
           | 
         
       
   | 
  
inherited   | 
  
 
 
◆ setPlacement()
  
  | 
      
   | 
  
protectedvirtualinherited   | 
  
 
 
◆ setPlacementForP()
template<class TRANS , class PERS > 
template<class P > 
 
Set POOL placement for type P. 
 
 
◆ setPlacementWithType()
  
  
      
        
          | Placement AthenaPoolConverter::setPlacementWithType  | 
          ( | 
          const std::string &  | 
          tname,  | 
         
        
           | 
           | 
          const std::string &  | 
          key,  | 
         
        
           | 
           | 
          const std::string &  | 
          output  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
protectedvirtualinherited   | 
  
 
Set POOL placement hint for a given type. 
- Parameters
 - 
  
    | tname | [IN] type name.  | 
    | key | [IN] SG key.  | 
  
   
Definition at line 176 of file AthenaPoolConverter.cxx.
  179    std::string::size_type pos1 = 
output.find(
'[');
 
  180    std::string outputConnectionSpec = 
output.substr(0, pos1);
 
  187    if( containerPrefix == 
"Default" ) {
 
  191    std::string containerName;
 
  194    std::size_t colonPos = containerPrefix.find(
':');
 
  195    if (colonPos != std::string::npos) {
 
  196       dhContainerPrefix = containerPrefix.substr(0, colonPos + 1) + dhContainerPrefix;
 
  202    std::string containerFriendPostfix;
 
  203    while (pos1 != std::string::npos) {
 
  204       const std::string::size_type pos2 = 
output.find(
'=', pos1);
 
  205       const std::string thisKey = 
output.substr(pos1 + 1, pos2 - pos1 - 1);
 
  206       const std::string::size_type pos3 = 
output.find(
']', pos2);
 
  207       const std::string 
value = 
output.substr(pos2 + 1, pos3 - pos2 - 1);
 
  208       if (thisKey == 
"OutputCollection") {
 
  209          dhContainerPrefix = std::move(
value);
 
  210       } 
else if (thisKey == 
"PoolContainerPrefix") {
 
  211          containerPrefix = std::move(
value);
 
  212       } 
else if (thisKey == 
"TopLevelContainerName") {
 
  213         containerNameHint = std::move(
value);
 
  214       } 
else if (thisKey == 
"SubLevelBranchName") {
 
  215          branchNameHint = std::move(
value);
 
  216       } 
else if (thisKey == 
"PoolContainerFriendPostfix") {
 
  217          containerFriendPostfix = std::move(
value);
 
  219       pos1 = 
output.find(
'[', pos3);
 
  223    if( tname.compare(0, 10, 
"DataHeader") == 0 ) {
 
  224       if( tname.compare(10, 4, 
"Form") == 0 ) {
 
  225          containerName = dhContainerPrefix + 
"Form" + 
"(" + tname + 
")";
 
  227          if (
key[
key.size() - 1] == 
'/') {
 
  228             containerName = dhContainerPrefix + 
"(" + 
key + tname + 
")";
 
  230             containerName = dhContainerPrefix + 
"(" + tname + 
")";
 
  235    else if (tname.compare(0, 13, 
"AttributeList") == 0) {
 
  237       if( pool::ROOTRNTUPLE_StorageType.exactMatch(tech) ) {
 
  242          tech = pool::ROOTTREE_StorageType.
type();
 
  248       const std::string typeTok = 
"<type>", keyTok = 
"<key>";
 
  249       containerName = containerPrefix + containerFriendPostfix + containerNameHint;
 
  250       if (!branchNameHint.empty()) {
 
  251          containerName += 
"(" + branchNameHint + 
")";
 
  253       const std::size_t pos1 = containerName.find(typeTok);
 
  254       if (pos1 != std::string::npos) {
 
  255          containerName.replace(pos1, typeTok.size(), tname);
 
  257       const std::size_t pos2 = containerName.find(keyTok);
 
  258       if (pos2 != std::string::npos) {
 
  260             containerName.replace(pos2, keyTok.size(), tname);
 
  262             containerName.replace(pos2, keyTok.size(), 
key);
 
 
 
 
◆ setToken()
template<class TRANS , class PERS > 
  
  | 
      
   | 
  
protectedvirtualinherited   | 
  
 
 
◆ storageType()
  
  
      
        
          | long AthenaPoolConverter::storageType  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
staticinherited   | 
  
 
 
◆ tracks()
◆ transToPers()
template<class TRANS , class PERS > 
  
  | 
      
   | 
  
inlineoverrideprotectedvirtualinherited   | 
  
 
 
◆ CnvFactory< SCT_ClusterContainerCnv >
◆ ATLAS_THREAD_SAFE
  
  
      
        
          | std::atomic_flag m_initialized AthMessaging::ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT | 
         
       
   | 
  
mutableprivateinherited   | 
  
 
 
◆ m_athenaPoolCnvSvc
◆ m_beamX
  
  
      
        
          | double Converter::m_beamX | 
         
       
   | 
  
protectedinherited   | 
  
 
 
◆ m_beamY
  
  
      
        
          | double Converter::m_beamY | 
         
       
   | 
  
protectedinherited   | 
  
 
 
◆ m_beamZ
  
  
      
        
          | double Converter::m_beamZ | 
         
       
   | 
  
protectedinherited   | 
  
 
 
◆ m_branchNameHint
  
  
      
        
          | std::string AthenaPoolConverter::m_branchNameHint | 
         
       
   | 
  
protectedinherited   | 
  
 
 
◆ m_classDesc
  
  
      
        
          | RootType AthenaPoolConverter::m_classDesc | 
         
       
   | 
  
protectedinherited   | 
  
 
 
◆ m_classDescs
  
  
      
        
          | ClassMap AthenaPoolConverter::m_classDescs | 
         
       
   | 
  
protectedinherited   | 
  
 
 
◆ m_classID
template<class TRANS , class PERS > 
 
 
◆ m_className
  
  
      
        
          | std::string AthenaPoolConverter::m_className | 
         
       
   | 
  
protectedinherited   | 
  
 
 
◆ m_containerNameHint
  
  
      
        
          | std::string AthenaPoolConverter::m_containerNameHint | 
         
       
   | 
  
protectedinherited   | 
  
 
 
◆ m_containerPrefix
  
  
      
        
          | std::string AthenaPoolConverter::m_containerPrefix | 
         
       
   | 
  
protectedinherited   | 
  
 
 
◆ m_conv_mut
◆ m_converter_p0
◆ m_dataObject
  
  
      
        
          | const DataObject* AthenaPoolConverter::m_dataObject | 
         
       
   | 
  
protectedinherited   | 
  
 
 
◆ m_detStore
◆ m_i_poolToken
◆ m_imsg
  
  
      
        
          | std::atomic<IMessageSvc*> AthMessaging::m_imsg { nullptr } | 
         
       
   | 
  
mutableprivateinherited   | 
  
 
 
◆ m_lvl
  
  
      
        
          | std::atomic<MSG::Level> AthMessaging::m_lvl { MSG::NIL } | 
         
       
   | 
  
mutableprivateinherited   | 
  
 
 
◆ m_msg_tls
  
  
      
        
          | boost::thread_specific_ptr<MsgStream> AthMessaging::m_msg_tls | 
         
       
   | 
  
mutableprivateinherited   | 
  
 
MsgStream instance (a std::cout like with print-out levels) 
Definition at line 132 of file AthMessaging.h.
 
 
◆ m_nm
  
  
      
        
          | std::string AthMessaging::m_nm | 
         
       
   | 
  
privateinherited   | 
  
 
 
◆ m_persObjLists
template<class TRANS , class PERS > 
 
Local cache for persistent objects created by this converter, grouped by processing slot These objects are deleted after a commit. 
Definition at line 120 of file T_AthenaPoolCustomCnv.h.
 
 
◆ m_pListMutex
template<class TRANS , class PERS > 
 
 
◆ m_TPConverter
◆ m_TPConverter_p2
◆ m_TPConverter_p3
◆ m_tracks
The documentation for this class was generated from the following files:
 
def retrieve(aClass, aKey=None)
 
std::atomic< MSG::Level > m_lvl
Current logging level.
 
@ numberOfPixelHits
number of pixel layers on track with absence of hits
 
StatusCode initialize(MsgStream &log)
 
const DataObject * m_dataObject
 
void ipCorr(double d0, double z0, double &d0c, double &z0c, double phi0, double eta, double pt)
 
def finalize(self)
_info( "content of StoreGate..." ) self.sg.dump()
 
Const iterator class for DataVector/DataList.
 
This class holds all the necessary information to guide the writing of an object in a physical place.
 
@ numberOfTRTHighThresholdHits
total number of TRT hits which pass the high threshold
 
virtual StatusCode DataObjectToPool(IOpaqueAddress *pAddr, DataObject *pObj)=0
Write an object into POOL.
 
Scalar phi() const
phi method
 
static constexpr const char * DataHeader
 
ServiceHandle< IAthenaPoolCnvSvc > m_athenaPoolCnvSvc
 
Scalar eta() const
pseudorapidity method
 
Dummy class used to allow special convertors to be called for surfaces owned by a detector element.
 
Scalar theta() const
theta method
 
SCT_ClusterContainerCnv_p3 m_TPConverter_p3
 
const std::string & auxString() const
Access auxiliary string.
 
const TrackSummary * trackSummary() const
accessor function for TrackSummary.
 
static long storageType()
 
ServiceHandle< StoreGateSvc > m_detStore
 
static constexpr const char * EventTag
 
Trk::PrepRawDataContainer< SCT_ClusterCollection > SCT_ClusterContainer
 
#define ATH_MSG_VERBOSE(x)
 
Placement & setContainerName(const std::string &containerName)
Set container name.
 
std::atomic< IMessageSvc * > m_imsg
MessageSvc pointer.
 
virtual PERS * createPersistent(const TRANS *transObj, MsgStream &log)
Create persistent representation of a transient object.
 
float nPixelHits(const U &p)
 
IMessageSvc * getMessageSvc(bool quiet=false)
 
int type() const
Access to full type.
 
@ numberOfBLayerHits
these are the hits in the 0th pixel layer?
 
double phiCorr(double phi)
 
This class provides a Generic Transient Address for POOL tokens.
 
SCT_ClusterContainerCnv_p0 m_converter_p0
 
static constexpr const char * EventData
 
TRANS * createTransient(MsgStream &log)
Create transient representation of the persistent object known to this converter.
 
const Token * m_i_poolToken
 
@ numberOfSCTHits
number of SCT holes
 
virtual InDet::SCT_ClusterContainer * createTransient(const SCT_ClusterContainer_p0 *, MsgStream &) override
 
std::string m_containerPrefix
 
const FitQuality * fitQuality() const
accessor function for FitQuality.
 
double chi2(TH1 *h0, TH1 *h1)
 
std::string m_containerNameHint
 
Placement & setFileName(const std::string &fileName)
Set file name.
 
Class to represent and store fit qualities from track reconstruction in terms of  and number of degre...
 
SCT_ClusterContainerCnv_tlp1 m_TPConverter
 
const ServiceHandle< StoreGateSvc > & detStore() const
Handle to DetectorStore.
 
uint32_t CLID
The Class ID type.
 
T_AthenaPoolCustomCnv< InDet::SCT_ClusterContainer, SCT_ClusterContainer_PERS > SCT_ClusterContainerCnvBase
 
static constexpr const char * EventTag
 
MsgStream & msg() const
The standard message stream.
 
void addTrack(TIDA::Track *t)
 
static constexpr const char * DataHeader
 
@ numberOfTRTHits
number of TRT outliers
 
A summary of the information contained by a track.
 
virtual StatusCode PoolToDataObject(DataObject *&pObj, const Token *token, const std::string &key)=0
Read an object from POOL.
 
virtual const std::string toString() const
Retrieve the string representation of the token.
 
const Trk::Perigee * measuredPerigee() const
Accessor method for Perigee.
 
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
 
virtual StatusCode DataObjectToPers(DataObject *pObj, IOpaqueAddress *&pAddr)=0
Convert an object into Persistent.
 
DetectorType
enumerates the various detector types currently accessible from the isHit() method.
 
virtual InDet::SCT_ClusterContainer * createTransient(const InDet::SCT_ClusterContainer_p2 *persObj, MsgStream &log)
 
bool exactMatch(const DbType &typ) const
 
#define ATH_MSG_WARNING(x)
 
std::string m_branchNameHint
 
Token & setAuxString(const std::string &auxString)
Set auxiliary string.
 
std::string m_nm
Message source name.
 
Placement & setTechnology(int technology)
Set technology type.
 
virtual bool compareClassGuid(const Guid &clid) const
Compare POOL class GUID with the one of the object being read.
 
void initMessaging() const
Initialize our message level and MessageSvc.
 
virtual StatusCode initialize()
Gaudi Service Interface method implementations:
 
boost::thread_specific_ptr< MsgStream > m_msg_tls
MsgStream instance (a std::cout like with print-out levels)
 
static constexpr const char * EventData
 
SCT_ClusterContainerCnv_p2 m_TPConverter_p2
 
constexpr int pow(int base, int exp) noexcept
 
virtual InDet::SCT_ClusterContainer * createTransient(const InDet::SCT_ClusterContainer_p3 *persObj, MsgStream &log)
 
std::vector< TIDA::Track * > m_tracks
 
float nSiHits(const U &p)
 
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.