00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef IREGSELSVC_H
00012 #define IREGSELSVC_H
00013 #include "GaudiKernel/IInterface.h"
00014 #include "Identifier/IdentifierHash.h"
00015 #include <vector>
00016 #include <stdint.h>
00017 #include "IRegionSelector/RegSelEnums.h"
00018 #include "AthenaKernel/IOVSvcDefs.h"
00019 #include "IRegionSelector/IRoiDescriptor.h"
00020
00021
00022
00023 class IRegSelSvc: virtual public IInterface {
00024 public:
00026 virtual ~IRegSelSvc(){}
00028 static const InterfaceID& interfaceID() {
00029 static const InterfaceID _IID("IRegSelSvc", 1 , 0);
00030 return _IID;
00031 }
00032
00033
00034
00036
00037
00039
00045 virtual void DetHashIDList( DETID detectorID,
00046 const IRoiDescriptor& roi,
00047 std::vector<IdentifierHash>& IDList) = 0;
00048
00049
00050
00052
00059 virtual void DetHashIDList( DETID detectorID,
00060 long layer,
00061 const IRoiDescriptor& roi,
00062 std::vector<IdentifierHash>& IDList) = 0;
00063
00064
00065
00070
00072
00077 virtual void DetHashIDList( DETID detectorID,
00078 std::vector<IdentifierHash>& IDList) = 0;
00079
00080
00082
00088 virtual void DetHashIDList( DETID detectorID,
00089 long layer,
00090 std::vector<IdentifierHash>& IDList) = 0;
00091
00092
00093
00094
00095
00097
00098
00100
00106 virtual void DetROBIDListUint(DETID detectorID,
00107 const IRoiDescriptor& roi,
00108 std::vector<uint32_t>& outputROBIDList) = 0;
00109
00110
00112
00119 virtual void DetROBIDListUint(DETID detectorID,
00120 long layer,
00121 const IRoiDescriptor& roi,
00122 std::vector<uint32_t>& outputROBIDList) = 0;
00123
00124
00126
00131 virtual void DetROBIDListUint(DETID detectorID,
00132 std::vector<uint32_t>& outputROBIDList) = 0;
00133
00134
00136
00142 virtual void DetROBIDListUint(DETID detectorID,
00143 long layer,
00144 std::vector<uint32_t>& outputROBIDList) = 0;
00145
00146
00147
00149 virtual StatusCode handle(IOVSVC_CALLBACK_ARGS) = 0;
00150
00151
00152
00153
00156
00164 virtual void GetEtaPhi(DETID detectorID, IdentifierHash hashId,
00165 double *etaMin, double *etaMax,
00166 double *phiMin, double *phiMax ) = 0;
00167
00169 virtual double getDeltaZ() const = 0;
00170
00172 virtual void DisableMissingROBs(const std::vector<uint32_t>& vec) = 0;
00173
00174
00175 };
00176
00177 #endif