File indexing completed on 2025-01-18 09:14:49
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015 #ifndef DETECTOR_DEVELOCONDITIONCALLS_H
0016 #define DETECTOR_DEVELOCONDITIONCALLS_H 1
0017
0018
0019 #include "Detector/DeVelo.h"
0020 #include "Detector/DeConditionCallDefs.h"
0021 #include "DD4hep/ConditionDerived.h"
0022
0023
0024 namespace gaudi {
0025
0026
0027
0028
0029
0030
0031
0032
0033 class VeloUpdateContext : public dd4hep::cond::ConditionUpdateUserContext {
0034 public:
0035 std::map<dd4hep::Condition::detkey_type,std::pair<dd4hep::DetElement,dd4hep::DDDB::DDDBCatalog*> > detectors;
0036 dd4hep::Condition alignments_done;
0037 };
0038
0039
0040
0041
0042
0043
0044
0045
0046 class DeVeloStaticConditionCall : public dd4hep::cond::ConditionUpdateCall, public DeConditionCallDefs {
0047 public:
0048
0049 DeVeloStaticConditionCall() = default;
0050
0051 virtual ~DeVeloStaticConditionCall() = default;
0052
0053 virtual Condition operator()(const ConditionKey& key, Context& context) override final;
0054
0055 virtual void resolve(Condition c, Context& context) override final;
0056 };
0057
0058
0059
0060
0061
0062
0063
0064
0065 class DeVeloIOVConditionCall : public dd4hep::cond::ConditionUpdateCall, public DeConditionCallDefs {
0066 public:
0067 DetElement detector;
0068 Catalog* catalog = 0;
0069 VeloUpdateContext* velo_context = 0;
0070
0071 DeVeloIOVConditionCall(DetElement de, Catalog* cat, VeloUpdateContext* ctx)
0072 : detector(de), catalog(cat), velo_context(ctx) {}
0073
0074 virtual ~DeVeloIOVConditionCall() = default;
0075
0076 virtual Condition operator()(const ConditionKey& key, Context& context) override final;
0077
0078 virtual void resolve(Condition c, Context& context) override;
0079 };
0080
0081
0082
0083
0084
0085
0086
0087
0088 class DeVeloConditionCall : public DeVeloIOVConditionCall {
0089 public:
0090
0091 DeVeloConditionCall(DetElement de, Catalog* cat, VeloUpdateContext* ctx)
0092 : DeVeloIOVConditionCall(de,cat,ctx) {}
0093
0094 virtual ~DeVeloConditionCall() = default;
0095
0096 virtual void resolve(Condition c, Context& context) override final;
0097 };
0098
0099 }
0100 #endif