23#ifndef TRestSoft_TRestAxionEvent
24#define TRestSoft_TRestAxionEvent
30#include "TRestEvent.h"
31#include "TRestSystemOfUnits.h"
56 Double_t GetPositionX() {
return fPosition.X(); }
57 Double_t GetPositionY() {
return fPosition.Y(); }
58 Double_t GetPositionZ() {
return fPosition.Z(); }
62 Double_t GetDirectionX() {
return fDirection.X(); }
63 Double_t GetDirectionY() {
return fDirection.Y(); }
64 Double_t GetDirectionZ() {
return fDirection.Z(); }
66 Double_t GetEnergy() {
return fEnergy; }
67 Double_t GetMass() {
return fMass; }
68 Double_t GetMassIneV() {
return fMass *
units(
"eV"); }
72 void SetPosition(TVector3 pos) {
fPosition = pos; }
73 void SetPosition(Double_t x, Double_t y, Double_t z) { SetPosition(TVector3(x, y, z)); }
77 void SetDirection(TVector3 dir) {
fDirection = dir; }
78 void SetDirection(Double_t px, Double_t py, Double_t pz) { SetDirection(TVector3(px, py, pz)); }
80 void RotateZX(
const TVector3& center, Double_t phi, Double_t theta);
81 void RotateXZ(
const TVector3& center, Double_t theta, Double_t phi);
83 void RotateXY(
const TVector3& center, Double_t pitch, Double_t yaw);
84 void RotateYX(
const TVector3& center, Double_t yaw, Double_t pitch);
86 void SetEnergy(Double_t en) {
fEnergy = en; }
87 void SetMass(Double_t m) {
fMass = m; }
93 virtual void PrintEvent();
95 TPad* DrawEvent(TString option =
"");
An event data class to define the parameters related to an axion particle.
void RotateXY(const TVector3 ¢er, Double_t pitch, Double_t yaw)
This method will produce a rotation respect to a center given by argument. First we rotate the partic...
TVector3 fPosition
Particle position.
void RotateYX(const TVector3 ¢er, Double_t yaw, Double_t pitch)
This method will produce a rotation respect to a center given by argument. First we rotate the partic...
void RotateXZ(const TVector3 ¢er, Double_t theta, Double_t phi)
This method will produce a rotation respect to a center given by argument. First we rotate the partic...
virtual void Initialize()
void RotateZX(const TVector3 ¢er, Double_t phi, Double_t theta)
This method will produce a rotation respect to a center given by argument. First we rotate the partic...
TVector3 GetPosition()
It keeps track of efficiency introduced at different helioscope components.
Double_t fEnergy
Initial energy of the axion.
TVector3 fDirection
Particle momentum. Unitary direction.
void Translate(const TVector3 &delta)
This method will produce a tranlation of the axion position by an amount delta.
Double_t fMass
Axion mass in keV.
A base class for any REST event.