12#include <klm/dataobjects/eklm/EKLMElementNumbers.h>
13#include <klm/dataobjects/KLMElementNumbers.h>
14#include <klm/dbobjects/eklm/EKLMAlignment.h>
15#include <klm/dbobjects/eklm/EKLMSegmentAlignment.h>
16#include <klm/eklm/geometry/GeometryData.h>
90 bool displaceModule,
bool displaceSegment,
91 bool moduleSameDisplacement =
false,
bool moduleZeroDeltaU =
false,
92 bool moduleZeroDeltaV =
false,
bool moduleZeroDeltaGamma =
false);
102 const char* inputFile);
133 const char* outputFile);
Class to store EKLM alignment data in the database.
Class to store EKLM alignment data in the database.
Module for generation of KLM displacement or alignment data.
const EKLM::GeometryData * m_GeoDat
Geometry data.
void studyAlignmentLimits(const char *outputFile)
Generate random displacements and check if they are correct (no overlaps).
void readDisplacementFromROOTFile(EKLMAlignment *alignment, EKLMSegmentAlignment *segmentAlignment, const char *inputFile)
Read displacement from ROOT file.
void studyModuleAlignmentLimits(TFile *f)
Generate random module displacements and check if they are correct (no overlaps).
const KLMElementNumbers * m_ElementNumbers
Element numbers.
const EKLMElementNumbers * m_eklmElementNumbers
EKLM element numbers.
~KLMDisplacementGenerator()
Destructor.
void generateRandomDisplacement(EKLMAlignment *alignment, EKLMSegmentAlignment *segmentAlignment, bool displaceModule, bool displaceSegment, bool moduleSameDisplacement=false, bool moduleZeroDeltaU=false, bool moduleZeroDeltaV=false, bool moduleZeroDeltaGamma=false)
Generation of random displacements.
void fillZeroDisplacements(EKLMAlignment *alignment, EKLMSegmentAlignment *segmentAlignment)
Fill EKLMAlignment with zero displacements.
void saveDisplacement(EKLMAlignment *alignment, EKLMSegmentAlignment *segmentAlignment, const char *outputFile)
Save displacements to a ROOT file.
void generateFixedModuleDisplacement(double deltaU, double deltaV, double deltaGamma)
Generation of fixed module displacements.
void studySegmentAlignmentLimits(TFile *f)
Generate random segment displacements and check if they are correct (no overlaps).
KLMDisplacementGenerator()
Constructor.
Abstract base class for different kinds of events.