File indexing completed on 2025-12-16 09:27:17
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015 #ifndef DETECTOR_DEVELOGENERIC_H
0016 #define DETECTOR_DEVELOGENERIC_H 1
0017
0018
0019 #include "Detector/DeVeloSensor.h"
0020 #include "Detector/DeStatic.h"
0021 #include "Detector/DeIOV.h"
0022
0023
0024 namespace gaudi {
0025
0026
0027 namespace detail {
0028
0029
0030
0031
0032
0033
0034
0035
0036 class DeVeloGenericStaticObject : public DeStaticObject {
0037 DE_CONDITIONS_TYPEDEFS;
0038
0039 enum { classID = 2 };
0040
0041 public:
0042 typedef std::vector<DeVeloGenericStaticObject*> Children;
0043 typedef std::vector<DeVeloSensorStatic> Sensors;
0044 Children children;
0045 Sensors sensors;
0046
0047 public:
0048
0049 DE_CTORS_DEFAULT(DeVeloGenericStaticObject);
0050
0051 virtual void initialize() override;
0052
0053 virtual void print(int indent, int flg) const override;
0054 };
0055 }
0056
0057
0058
0059
0060
0061
0062
0063
0064
0065 class DeVeloGenericStaticElement : public dd4hep::Handle<detail::DeVeloGenericStaticObject> {
0066 DE_CONDITIONS_TYPEDEFS;
0067 typedef Object static_t;
0068 public:
0069
0070 DE_CTORS_HANDLE(DeVeloGenericStaticElement,Base);
0071
0072 Object::Sensors& sensors() const { return access()->sensors; }
0073
0074 Object::Children& children() const { return access()->children; }
0075 };
0076
0077 typedef DetectorStaticElement<DeVeloGenericStaticElement> DeVeloGenericStatic;
0078
0079
0080 namespace detail {
0081
0082
0083
0084
0085
0086
0087
0088
0089 class DeVeloGenericObject : public DeIOVObject {
0090 DE_CONDITIONS_TYPEDEFS;
0091
0092 public:
0093 typedef std::vector<DeVeloGenericObject*> Children;
0094 typedef std::vector<DeVeloSensor> Sensors;
0095 Children children;
0096 Sensors sensors;
0097
0098 public:
0099
0100 DE_CTORS_DEFAULT(DeVeloGenericObject);
0101
0102 virtual void initialize() override;
0103
0104 virtual void print(int indent, int flg) const override;
0105 };
0106 }
0107
0108
0109
0110
0111
0112
0113
0114
0115
0116 class DeVeloGenericElement : public dd4hep::Handle<detail::DeVeloGenericObject> {
0117 DE_CONDITIONS_TYPEDEFS;
0118
0119 typedef Object::static_t static_t;
0120 typedef Object iov_t;
0121 public:
0122
0123 DE_CTORS_HANDLE(DeVeloGenericElement,Base);
0124
0125 static_t& staticData() const { return access()->de_static; }
0126
0127 Object::Sensors& sensors() const { return access()->sensors; }
0128
0129 Object::Children& children() const { return access()->children; }
0130 };
0131
0132
0133 typedef DetectorElement<DeVeloGenericElement> DeVeloGeneric;
0134
0135 }
0136 #endif