17#ifndef ALICEO2_MFT_DETECTOR_H
18#define ALICEO2_MFT_DETECTOR_H
20#include "TLorentzVector.h"
65 bool isMTSafe()
const override {
return true; }
71 void Reset()
override;
77 std::vector<o2::itsmft::Hit>*
getHits(Int_t iColl)
const
133 if (density > 1
e-6) {
151 std::vector<o2::itsmft::Hit>* mHits;
152 int mTrackRefLastTrackID = -1;
157 o2::itsmft::Hit* addHit(
int trackID,
int detID, TVector3 startPos, TVector3 endPos, TVector3 startMom,
double startE,
158 double endTime,
double eLoss,
unsigned char startStatus,
unsigned char endStatus);
163 unsigned char mTrkStatusStart;
164 TLorentzVector mPositionStart;
165 TLorentzVector mMomentumStart;
169 template <
typename Det>
186struct UseShm<
o2::mft::Detector> {
187 static constexpr bool value =
true;
Definition of the Detector class.
Definition of the ITSMFT Hit class.
Timeframe settings Average distance in cm of events merged into Randomize distance around average distance of merged events Simulate correct bunch interactions instead of placing only the average number of events A value[n] sets TFlen for[n] collisions in Number of bunches per trainsort Number of bunch trains Instantaneous interaction rate Do not simulate border Total number of collisions to be placed in the interior of all time Do not select random but walk over array of events in stride steps h Event generator settings h configStandalone Use CPU for GPU Force usage of the specified GPU device no CPU fallback Continue processing after an error First event to Number of events to Number of iterations to Number of iterations to Number of initial iterations excluded from const char e
void setDensitySupportOverSi(Double_t density)
~Detector() override
Default destructor.
void PostTrack() override
void InitializeO2Detector() override
Initialization of the detector is done here.
void createMaterials()
Creating materials for the detector.
GeometryTGeo * mGeometryTGeo
bool isMTSafe() const override
whether this detector may run in multithreaded Geant4, with one clone per worker thread
void addAlignableVolumesLadder(Int_t hf, Int_t dk, Int_t lr, TString &parent, Int_t &lastUID) const
void EndOfEvent() override
void BeginPrimary() override
void Register() override
Registers the produced collections in FAIRRootManager.
void FinishPrimary() override
std::vector< o2::itsmft::Hit > * getHits(Int_t iColl) const
Gets the produced hits.
Bool_t ProcessHits(FairVolume *v=nullptr) override
This method is called for each step during simulation (see FairMCApplication::Stepping())
void ConstructGeometry() override
void addAlignableVolumes() const override
Add alignable top volumes.
Detector()
Default constructor.
void defineSensitiveVolumes()
void addAlignableVolumesChip(Int_t hf, Int_t dk, Int_t lr, Int_t ms, TString &parent, Int_t &lastUID) const
void FinishRun() override
Double_t mDensitySupportOverSi
Int_t mVersion
access to geometry details
void addAlignableVolumesDisk(Int_t hf, Int_t dk, TString &parent, Int_t &lastUID) const
void Reset() override
Has to be called after each event to reset the containers.
void addAlignableVolumesHalf(Int_t hf, TString &parent, Int_t &lastUID) const
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 ...