12#ifndef ALICEO2_TRK_DETECTOR_H
13#define ALICEO2_TRK_DETECTOR_H
23#include <TLorentzVector.h>
47 o2::trk::Hit*
addHit(
int trackID,
unsigned short detID,
const TVector3& startPos,
const TVector3& endPos,
48 const TVector3& startMom,
double startE,
double endTime,
double eLoss,
49 unsigned char startStatus,
unsigned char endStatus);
63 std::vector<o2::trk::Hit>*
getHits(
int iColl)
const
72 void configFT3ScopingV3();
73 void configFromFile(std::string fileName =
"alice3_TRK_layout.txt");
74 void configToFile(std::string fileName =
"alice3_TRK_layout.txt");
76 void configServices();
85 int mNumberOfVolumesVD;
90 unsigned char mTrkStatusStart;
91 TLorentzVector mPositionStart;
92 TLorentzVector mMomentumStart;
96 std::vector<o2::trk::Hit>* mHits;
97 std::vector<std::unique_ptr<TRKCylindricalLayer>> mLayers;
100 std::vector<std::string> mFirstOrLastLayers;
101 bool InsideFirstOrLastLayer(std::string layerName);
103 void defineSensitiveVolumes();
116 if (mFT3LayerName[kBackward].
size() != mFT3LayerName[kForward].
size()) {
117 LOG(fatal) <<
"Number of layers in the two directions are different! Returning 0.";
119 return mFT3LayerName[kBackward].size();
122 void Print(FairVolume* vol,
int volume,
int subDetID,
int layer,
int stave,
int halfstave,
int mod,
int chip,
int chipID)
const;
124 template <
typename Det>
137struct UseShm<
o2::trk::Detector> {
138 static constexpr bool value =
true;
Definition of the Detector class.
Definition of the TRK Hit class.
Definition of the FT3Layer class.
Detector()
Default Constructor.
void ConstructGeometry() override
void BeginPrimary() override
void InitializeO2Detector() override
std::vector< o2::trk::Hit > * getHits(int iColl) const
void FinishPrimary() override
static constexpr Int_t sNumberVDPetalCases
void PostTrack() override
std::array< std::vector< FT3Layer >, 2 > mFT3Layers
layer names
void EndOfEvent() override
static o2::base::Detector * create(bool active)
std::array< std::vector< TString >, 2 > mFT3LayerName
int getNumberOfLayers() const
Number of VD petals.
o2::trk::Hit * addHit(int trackID, unsigned short detID, const TVector3 &startPos, const TVector3 &endPos, const TVector3 &startMom, double startE, double endTime, double eLoss, unsigned char startStatus, unsigned char endStatus)
static constexpr int kForward
Detector(const Detector &other)
bool ProcessHits(FairVolume *v=nullptr) override
int getNumberOfFT3Layers() const
Number of TRK layers.
std::vector< int > mSensorID
std::vector< TString > mSensorName
layer identifiers
ClassDefOverride(Detector, 2)
static constexpr int kBackward
GLsizei const GLfloat * value
GLenum GLuint GLint GLint layer
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
VectorOfTObjectPtrs other
LOG(info)<< "Compressed in "<< sw.CpuTime()<< " s"