10#include <ecl/modules/eclDumpGeometry/ECLDumpGeometryModule.h>
13#include <ecl/dataobjects/ECLElementNumbers.h>
14#include <ecl/geometry/ECLGeometryPar.h>
17#include <Math/Vector3D.h>
52 std::printf(
"\nLocation and direction of the axis of each ECL crystal\n");
53 std::printf(
"cellID x y z axisTheta axisPhi \n");
55 ROOT::Math::XYZVector pos = eclGeometry->
GetCrystalPos(cellID - 1);
56 ROOT::Math::XYZVector dir = eclGeometry->
GetCrystalVec(cellID - 1);
57 std::printf(
"%6d %9.4f %9.4f %9.4f %9.6f %9.6f\n", cellID, pos.X(), pos.Y(), pos.Z(), dir.Theta(), dir.Phi());
virtual void initialize() override
Register input and output data.
virtual void event() override
Event.
bool firstEvent
print out geometry in the first event
ECLDumpGeometryModule()
Constructor: Sets the description, the properties and the parameters of the module.
The Class for ECL Geometry Parameters.
static ECLGeometryPar * Instance()
Static method to get a reference to the ECLGeometryPar instance.
ROOT::Math::XYZVector GetCrystalPos(int cid)
The Position of crystal.
ROOT::Math::XYZVector GetCrystalVec(int cid)
The direction of crystal.
void setDescription(const std::string &description)
Sets the description of the module.
void setPropertyFlags(unsigned int propertyFlags)
Sets the flags for the module properties.
@ c_ParallelProcessingCertified
This module can be run in parallel processing mode safely (All I/O must be done through the data stor...
#define REG_MODULE(moduleName)
Register the given module (without 'Module' suffix) with the framework.
const int c_NCrystals
Number of crystals.
Abstract base class for different kinds of events.