18#ifndef ALICEO2_FV0_DETECTOR_H_
19#define ALICEO2_FV0_DETECTOR_H_
21#include <TLorentzVector.h>
53 bool isMTSafe()
const override {
return true; }
64 std::vector<o2::fv0::Hit>*
getHits(Int_t iColl)
73 void Reset()
override;
110 std::vector<o2::fv0::Hit>* mHits =
nullptr;
111 int mTrackRefLastTrackID = -1;
119 TLorentzVector mPositionStart;
120 TLorentzVector mMomentumStart;
125 const math_utils::Point3D<float>& startPos,
const math_utils::Point3D<float>& endPos,
126 const math_utils::Vector3D<float>& startMom,
double startE,
127 double endTime,
double eLoss, Int_t particlePdg);
129 template <
typename Det>
146struct UseShm<
o2::fv0::Detector> {
147 static constexpr bool value =
true;
Definition of the Detector class.
Base definition of FV0 geometry.
~Detector() override
Default destructor.
void InitializeO2Detector() override
Initializes the detector (adds sensitive volume)
void createMaterials()
Registers new materials in o2::base::Detector.
void EndOfEvent() override
Called at the end of event.
void Register() override
Registers the produced collections in FAIRRootManager.
Bool_t ProcessHits(FairVolume *v=nullptr) override
This method is called for each step during simulation (see FairMCApplication::Stepping())
void ConstructGeometry() override
Creates materials and geometry.
void addAlignableVolumes() const override
Add alignable volumes.
Detector()
Default constructor.
bool isMTSafe() const override
whether this detector may run in multithreaded Geant4, with one clone per worker thread
std::vector< o2::fv0::Hit > * getHits(Int_t iColl)
Gets the produced hits.
void Reset() override
Has to be called after each event to reset the containers.
GLsizei GLsizei GLchar * source
GLsizei const GLfloat * value
std::ostream & operator<<(std::ostream &os, Detector &source)
std::istream & operator>>(std::istream &os, Detector &source)
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...