#ifndef TGenericAlignmentLookup_hxx #define TGenericAlignmentLookup_hxx #include #include #include #include class IGenericAlignmentLookup: public COMET::IOADatabase::IAlignmentLookup { public: unsigned int fCalls; std::vector< std::pair< COMET::IGeometryId, TGeoMatrix* > > fCorrections; public: IGenericAlignmentLookup() {} virtual ~IGenericAlignmentLookup() {} COMET::IAlignmentId StartAlignment(const COMET::ICOMETEvent* const event); TGeoMatrix* Align(const COMET::ICOMETEvent* const event, COMET::IGeometryId& geomId); void AddTranslation(const COMET::IGeometryId& geomId, double dx, double dy, double dz); void AddRotation(const COMET::IGeometryId& geomId, double a, double b, double c); void AddRotation(const COMET::IGeometryId& geomId, TVector3 axis, double angle); void AddTranslationRotation(const COMET::IGeometryId& geomId, double dx, double dy, double dz, double a, double b, double c); void AddTranslationRotation(const COMET::IGeometryId& geomId, double dx, double dy, double dz, TVector3 axis, double angle); void AddTranslationRotation(const COMET::IGeometryId& geomId, TVector3 trans, TVector3 axis, double angle); void Clear(){fCorrections.clear();} }; #endif