ATLAS Offline Software
Public Types | Public Member Functions | Protected Attributes | Friends | List of all members
JetKeyDescriptor Class Reference

////////////////////////////////////////////////// More...

#include <JetKeyDescriptor.h>

Collaboration diagram for JetKeyDescriptor:

Public Types

typedef std::string category_t
 
typedef std::string key_t
 
typedef std::vector< key_tkeystore_t
 
typedef std::vector< keystore_tstorelist_t
 
typedef std::vector< category_tcatlist_t
 

Public Member Functions

void access () const
 
virtual ~JetKeyDescriptor ()
 
 JetKeyDescriptor ()
 
const storelist_tkeyStore () const
 
const catlist_tcatStore () const
 

Protected Attributes

storelist_t m_keyStore
 
catlist_t m_catStore
 

Friends

class JetKeyDescriptorCnv_p1
 
class JetKeyDescriptorInstance
 
class TPPolyCnvBase< JetKeyDescriptor, JetKeyDescriptor, JetKeyDescriptor_p1 >
 

Detailed Description

//////////////////////////////////////////////////

Maintains one-to-one association between strings and index


The goal of this class is to allow Jet users to define quantities associated to
jets (e.g. shapes or Btagging info) with strings (thus in a meaning full and dynamic way) while internaly using index (persistance performance).

JetKeyDescriptor is internal to JetSoftware and users should not be exposed to it

Definition at line 43 of file JetKeyDescriptor.h.

Member Typedef Documentation

◆ category_t

typedef std::string JetKeyDescriptor::category_t

Definition at line 51 of file JetKeyDescriptor.h.

◆ catlist_t

Definition at line 56 of file JetKeyDescriptor.h.

◆ key_t

typedef std::string JetKeyDescriptor::key_t

Definition at line 52 of file JetKeyDescriptor.h.

◆ keystore_t

typedef std::vector<key_t> JetKeyDescriptor::keystore_t

Definition at line 54 of file JetKeyDescriptor.h.

◆ storelist_t

Definition at line 55 of file JetKeyDescriptor.h.

Constructor & Destructor Documentation

◆ ~JetKeyDescriptor()

JetKeyDescriptor::~JetKeyDescriptor ( )
virtual

Definition at line 217 of file JetKeyDescriptor.cxx.

218 {
219  // here, now delete the pointer to the data of the instance...
220  if ( (JetKeyDescriptorInstance::instance())->m_Stores == this )
221  (JetKeyDescriptorInstance::instance())->m_Stores = nullptr;
222  if ( (JetKeyDescriptorInstance::instance())->m_ConstStores == this )
223  (JetKeyDescriptorInstance::instance())->m_ConstStores = nullptr;
224 }

◆ JetKeyDescriptor()

JetKeyDescriptor::JetKeyDescriptor ( )

Definition at line 197 of file JetKeyDescriptor.cxx.

198 {
199  // this constructor is called only from deregister
200  //(JetKeyDescriptorInstance::instance())->m_Stores = this;
201 
202  // Set the first Author entry to be NoAuthor
203  JetKeyDescriptorInstance descInst(false);
204  descInst.m_Stores = this; // connect to this store
205  descInst.m_ConstStores = this; // connect to this store
206  descInst.getIndex(JetKeyConstants::InfoCat,"NoAuthor",true);
207 
208  // notes about the above lines :
209  // The line is safe w.r.t T/P when reading file written before it is implemented
210  // (because the Cnv clears everything before reading the pers object).
211  // However in such cases, jets created after such reading will have their jetAuthor()
212  // pointing to an arbitrary string (usualy "AntiKt6H1Tower") rather than the now expected "NoAuthor"
213 
214 }

Member Function Documentation

◆ access()

void JetKeyDescriptor::access ( ) const
inline

Definition at line 59 of file JetKeyDescriptor.h.

59 { };

◆ catStore()

const catlist_t& JetKeyDescriptor::catStore ( ) const
inline

Definition at line 71 of file JetKeyDescriptor.h.

71 { return m_catStore; }

◆ keyStore()

const storelist_t& JetKeyDescriptor::keyStore ( ) const
inline

Definition at line 70 of file JetKeyDescriptor.h.

70 { return m_keyStore; }

Friends And Related Function Documentation

◆ JetKeyDescriptorCnv_p1

friend class JetKeyDescriptorCnv_p1
friend

Definition at line 46 of file JetKeyDescriptor.h.

◆ JetKeyDescriptorInstance

friend class JetKeyDescriptorInstance
friend

Definition at line 47 of file JetKeyDescriptor.h.

◆ TPPolyCnvBase< JetKeyDescriptor, JetKeyDescriptor, JetKeyDescriptor_p1 >

Definition at line 47 of file JetKeyDescriptor.h.

Member Data Documentation

◆ m_catStore

catlist_t JetKeyDescriptor::m_catStore
protected

Definition at line 77 of file JetKeyDescriptor.h.

◆ m_keyStore

storelist_t JetKeyDescriptor::m_keyStore
protected

Definition at line 75 of file JetKeyDescriptor.h.


The documentation for this class was generated from the following files:
JetKeyDescriptor::m_catStore
catlist_t m_catStore
Definition: JetKeyDescriptor.h:77
JetKeyDescriptor::m_keyStore
storelist_t m_keyStore
Definition: JetKeyDescriptor.h:75
JetKeyDescriptorInstance::instance
static JetKeyDescriptorInstance * instance()
Definition: JetKeyDescriptor.h:123
JetKeyConstants::InfoCat
static const key_t InfoCat
Index category for general jet info.
Definition: JetKeyDescriptor.h:94
JetKeyDescriptorInstance
Definition: JetKeyDescriptor.h:100