ATLAS Offline Software
FolderTypes.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
3 */
4 // @file FolderTypes.h
5 // Header for FolderTypes utilities
6 // @author Shaun Roe
7 // @date 05 October 2017
8 #ifndef IOVDbSvc_FolderTypes_h
9 #define IOVDbSvc_FolderTypes_h
10 
11 #include "CoolKernel/IFolder.h"
12 #include "CoolKernel/pointers.h" //IFolderPtr etc, typdefs
13 #include <string>
14 #include <vector>
15 
16 class IClassIDSvc;
18 
19 namespace cool{
20  class IRecordSpecification;
21 }
22 
23 
24 namespace IOVDbNamespace{
25  //basic folder types
26  enum FolderType {
27  UNKNOWN=-1,
36  };
37 
40  determineFolderType(const std::string & folderDescription, const std::string & spec, const std::vector<cool::ChannelId> & chans);
41 
44  determineFolderType(const cool::IFolderPtr & pFolder, IClassIDSvc* clidsvc=nullptr);
45 
47  std::string
49 
52  determineFolderType(const CondAttrListCollection * pAttrListColl);
53 
56  determineFolderType(const CondAttrListCollection & pAttrListColl);
57 
60  determineFolderType(const coral::AttributeSpecification& spec);
61 
63 
64  bool
65  poolCompatible(const cool::IRecordSpecification& rspec);
66 
67  bool
68  poolCompatible(const CondAttrListCollection * pAttrListColl);
69 
70  bool
71  poolCompatible(const CondAttrListCollection & pAttrListColl);
72 
73  bool
74  poolCompatible(const std::string & specString);
76 }
77 
78 #endif
79 
python.CaloRecoConfig.f
f
Definition: CaloRecoConfig.py:127
CaloCondBlobAlgs_fillNoiseFromASCII.spec
spec
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:47
IOVDbNamespace::UNKNOWN
@ UNKNOWN
Definition: FolderTypes.h:27
IOVDbNamespace::PoolRefColl
@ PoolRefColl
Definition: FolderTypes.h:31
AthTPCnvSvc_test.clidsvc
clidsvc
Definition: AthTPCnvSvc_test.py:10
IOVDbNamespace::PoolRef
@ PoolRef
Definition: FolderTypes.h:30
CondAttrListCollection
This class is a collection of AttributeLists where each one is associated with a channel number....
Definition: CondAttrListCollection.h:52
cool
Definition: CoolTagInfo.h:12
IOVDbNamespace::JSON
@ JSON
Definition: FolderTypes.h:34
IOVDbNamespace::CoolVector
@ CoolVector
Definition: FolderTypes.h:33
IOVDbNamespace::CoraCool
@ CoraCool
Definition: FolderTypes.h:32
IOVDbNamespace::AttrListColl
@ AttrListColl
Definition: FolderTypes.h:29
IOVDbNamespace::poolCompatible
bool poolCompatible(const cool::IRecordSpecification &rspec)
Is the folder type compatible with Pool storage type?
Definition: FolderTypes.cxx:96
IOVDbNamespace::AttrList
@ AttrList
Definition: FolderTypes.h:28
IOVDbNamespace::folderTypeName
std::string folderTypeName(const FolderType f)
Give a string name for the folder type.
Definition: FolderTypes.cxx:122
IOVDbNamespace::determineFolderType
FolderType determineFolderType(const std::string &folderDescription, const std::string &spec, const std::vector< cool::ChannelId > &chans)
Determine folder type with optional check using clid service to check clid matches typename.
Definition: FolderTypes.cxx:16
python.LArCondContChannels.chans
list chans
Definition: LArCondContChannels.py:638
IOVDbNamespace::FolderType
FolderType
Definition: FolderTypes.h:26
IOVDbNamespace
Definition: Base64Codec.cxx:16
IOVDbNamespace::NUM_FOLDER_TYPES
@ NUM_FOLDER_TYPES
Definition: FolderTypes.h:35