Project
Loading...
Searching...
No Matches
o2::rich::Detector Class Reference

#include <Detector.h>

Inherits o2::base::DetImpl< Detector >.

Public Member Functions

 Detector (bool active)
 
 Detector ()
 
 ~Detector ()
 
void ConstructGeometry () override
 
o2::itsmft::HitaddHit (int trackID, int detID, const TVector3 &startPos, const TVector3 &endPos, const TVector3 &startMom, double startE, double endTime, double eLoss, unsigned char startStatus, unsigned char endStatus)
 
void BeginPrimary () override
 
void FinishPrimary () override
 
void InitializeO2Detector () override
 
void PostTrack () override
 
void PreTrack () override
 
bool ProcessHits (FairVolume *v=nullptr) override
 
void EndOfEvent () override
 
void Register () override
 
void Reset () override
 
std::vector< o2::itsmft::Hit > * getHits (int iColl) const
 
void createMaterials ()
 
void createGeometry ()
 
void prepareLayout ()
 
void createRings (TGeoVolume *)
 
- Public Member Functions inherited from o2::base::DetImpl< Detector >
std::string getHitBranchNames (int probe) const override
 
void updateHitTrackIndices (std::map< int, int > const &indexmapping) override
 
void attachHits (fair::mq::Channel &channel, fair::mq::Parts &parts) override
 
void mergeAndAdjustHits (std::string const &brname, TTree &origin, TTree &target, std::vector< int > const &trackoffsets, std::vector< int > const &nprimaries, std::vector< int > const &subevtsOrdered)
 
void mergeAndAdjustHits (std::string const &brname, L &hitbuffervector, TTree &target, std::vector< int > const &trackoffsets, std::vector< int > const &nprimaries, std::vector< int > const &subevtsOrdered)
 
void mergeHitEntries (TTree &origin, TTree &target, std::vector< int > const &trackoffsets, std::vector< int > const &nprimaries, std::vector< int > const &subevtsOrdered) final
 
void mergeHitEntriesAndFlush (int eventID, TTree &target, std::vector< int > const &trackoffsets, std::vector< int > const &nprimaries, std::vector< int > const &subevtsOrdered) final
 
void collectHits (int eventID, fair::mq::Parts &parts, int &index) override
 
void fillHitBranch (TTree &tr, fair::mq::Parts &parts, int &index) override
 
FairModuleCloneModule () const final
 
void freeHitBuffers ()
 
bool setHits (int i, std::vector< Hit_t > *ptr)
 
void createHitBuffers ()
 
void initializeLate () final
 
void BeginEvent () final
 
 ~DetImpl () override
 
 Detector (const char *name, Bool_t Active)
 
 Detector ()
 Default Constructor.
 
 Detector (const Detector &origin)
 
- Public Member Functions inherited from o2::base::Detector
 Detector (const char *name, Bool_t Active)
 
 Detector ()
 Default Constructor.
 
 ~Detector () override
 Default Destructor.
 
void Material (Int_t imat, const char *name, Float_t a, Float_t z, Float_t dens, Float_t radl, Float_t absl, Float_t *buf=nullptr, Int_t nwbuf=0)
 
void Mixture (Int_t imat, const char *name, Float_t *a, Float_t *z, Float_t dens, Int_t nlmat, Float_t *wmat)
 
void Medium (Int_t numed, const char *name, Int_t nmat, Int_t isvol, Int_t ifield, Float_t fieldm, Float_t tmaxfd, Float_t stemax, Float_t deemax, Float_t epsil, Float_t stmin, Float_t *ubuf=nullptr, Int_t nbuf=0)
 
void SpecialCuts (Int_t numed, const std::initializer_list< std::pair< ECut, Float_t > > &parIDValMap)
 Custom processes and transport cuts.
 
void SpecialCut (Int_t numed, ECut parID, Float_t val)
 Set cut by name and value.
 
void SpecialProcesses (Int_t numed, const std::initializer_list< std::pair< EProc, int > > &parIDValMap)
 
void SpecialProcess (Int_t numed, EProc parID, int val)
 Set process by name and value.
 
void Matrix (Int_t &nmat, Float_t theta1, Float_t phi1, Float_t theta2, Float_t phi2, Float_t theta3, Float_t phi3) const
 
void SetSpecialPhysicsCuts () override
 
virtual void addAlignableVolumes () const
 declare alignable volumes of detector
 
virtual void fillParallelWorld () const
 fill parallel geometry with sensitive volumes of detector
 
virtual void defineWrapperVolume (Int_t id, Double_t rmin, Double_t rmax, Double_t zspan)
 Sets per wrapper volume parameters.
 
virtual void setNumberOfWrapperVolumes (Int_t n)
 Books arrays for wrapper volumes.
 
virtual void defineLayer (Int_t nlay, Double_t phi0, Double_t r, Int_t nladd, Int_t nmod, Double_t lthick=0., Double_t dthick=0., UInt_t detType=0, Int_t buildFlag=0)
 
virtual void defineLayerTurbo (Int_t nlay, Double_t phi0, Double_t r, Int_t nladd, Int_t nmod, Double_t width, Double_t tilt, Double_t lthick=0., Double_t dthick=0., UInt_t detType=0, Int_t buildFlag=0)
 
int getMaterialID (int imat) const
 
int getMediumID (int imed) const
 
void getMediumIDMappingAsVector (std::vector< int > &mapping)
 
std::string addNameTo (const char *ext) const
 
void Initialize () final
 
int registerSensitiveVolumeAndGetVolID (std::string const &name)
 
int registerSensitiveVolumeAndGetVolID (TGeoVolume const *vol)
 
TClonesArray * GetCollection (int iColl) const final
 

Protected Member Functions

 ClassDefOverride (Detector, 1)
 
- Protected Member Functions inherited from o2::base::DetImpl< Detector >
 ClassDefOverride (DetImpl, 0)
 pointer to hit (collector) buffer location (strictly internal)
 
- Protected Member Functions inherited from o2::base::Detector
 Detector (const Detector &origin)
 
Detectoroperator= (const Detector &)
 

Protected Attributes

int mNumberOfRings
 
int mNTiles
 
float mMaximumHalfLength = 350
 
std::vector< double > mThetaBi
 
std::vector< double > mR0Tilt
 
std::vector< double > mZ0Tilt
 
std::vector< double > mLAerogelZ
 
std::vector< double > mTRplusG
 
std::vector< double > mMinRadialMirror
 
std::vector< double > mMaxRadialMirror
 
std::vector< double > mMaxRadialRadiator
 
std::vector< double > mVMirror1
 
std::vector< double > mVMirror2
 
std::vector< double > mVTile1
 
std::vector< double > mVTile2
 
std::vector< double > mR0Radiator
 
std::vector< double > mR0PhotoDet
 
FWDRich mFWDRich
 
BWDRich mBWDRich
 
- Protected Attributes inherited from o2::base::DetImpl< Detector >
bool * mShmBusy [NHITBUFFERS]
 
std::vector< void * > mCachedPtr [NHITBUFFERS]
 pointer to bool in shared mem indicating of IO busy
 
int mCurrentBuffer
 
int mInitialized
 
charmHitCollectorBufferPtr
 

Friends

template<typename Det >
class o2::base::DetImpl
 

Additional Inherited Members

- Static Public Member Functions inherited from o2::base::Detector
static void setDensityFactor (Float_t density)
 
static Float_t getDensityFactor ()
 
static void initFieldTrackingParams (int &mode, float &maxfield)
 
static void setDetId2HitBitIndex (std::vector< int > const &v)
 set the DetID to HitBitIndex mapping. Succeeds if not already set.
 
static std::vector< int > const & getDetId2HitBitIndex ()
 
- Static Protected Attributes inherited from o2::base::DetImpl< Detector >
static constexpr int NHITBUFFERS
 

Detailed Description

Definition at line 32 of file Detector.h.

Constructor & Destructor Documentation

◆ Detector() [1/2]

o2::rich::Detector::Detector ( bool  active)

Definition at line 38 of file Detector.cxx.

◆ Detector() [2/2]

o2::rich::Detector::Detector ( )

Definition at line 31 of file Detector.cxx.

◆ ~Detector()

o2::rich::Detector::~Detector ( )

Definition at line 49 of file Detector.cxx.

Member Function Documentation

◆ addHit()

o2::itsmft::Hit * o2::rich::Detector::addHit ( int  trackID,
int  detID,
const TVector3 &  startPos,
const TVector3 &  endPos,
const TVector3 &  startMom,
double  startE,
double  endTime,
double  eLoss,
unsigned char  startStatus,
unsigned char  endStatus 
)

Definition at line 311 of file Detector.cxx.

◆ BeginPrimary()

void o2::rich::Detector::BeginPrimary ( )
inlineoverride

Definition at line 46 of file Detector.h.

◆ ClassDefOverride()

o2::rich::Detector::ClassDefOverride ( Detector  ,
 
)
protected

◆ ConstructGeometry()

void o2::rich::Detector::ConstructGeometry ( )
override

Definition at line 56 of file Detector.cxx.

◆ createGeometry()

void o2::rich::Detector::createGeometry ( )

Definition at line 133 of file Detector.cxx.

◆ createMaterials()

void o2::rich::Detector::createMaterials ( )

Definition at line 62 of file Detector.cxx.

◆ createRings()

void o2::rich::Detector::createRings ( TGeoVolume *  )

◆ EndOfEvent()

void o2::rich::Detector::EndOfEvent ( )
override

Definition at line 206 of file Detector.cxx.

◆ FinishPrimary()

void o2::rich::Detector::FinishPrimary ( )
inlineoverride

Definition at line 47 of file Detector.h.

◆ getHits()

std::vector< o2::itsmft::Hit > * o2::rich::Detector::getHits ( int  iColl) const
inline

Definition at line 57 of file Detector.h.

◆ InitializeO2Detector()

void o2::rich::Detector::InitializeO2Detector ( )
overridevirtual

Implements o2::base::Detector.

Definition at line 181 of file Detector.cxx.

◆ PostTrack()

void o2::rich::Detector::PostTrack ( )
inlineoverride

Definition at line 49 of file Detector.h.

◆ prepareLayout()

void o2::rich::Detector::prepareLayout ( )

Definition at line 319 of file Detector.cxx.

◆ PreTrack()

void o2::rich::Detector::PreTrack ( )
inlineoverride

Definition at line 50 of file Detector.h.

◆ ProcessHits()

bool o2::rich::Detector::ProcessHits ( FairVolume *  v = nullptr)
override

Definition at line 226 of file Detector.cxx.

◆ Register()

void o2::rich::Detector::Register ( )
override

Definition at line 208 of file Detector.cxx.

◆ Reset()

void o2::rich::Detector::Reset ( )
override

Definition at line 219 of file Detector.cxx.

Friends And Related Symbol Documentation

◆ o2::base::DetImpl

template<typename Det >
friend class o2::base::DetImpl
friend

Definition at line 107 of file Detector.h.

Member Data Documentation

◆ mBWDRich

BWDRich o2::rich::Detector::mBWDRich
protected

Definition at line 111 of file Detector.h.

◆ mFWDRich

FWDRich o2::rich::Detector::mFWDRich
protected

Definition at line 110 of file Detector.h.

◆ mLAerogelZ

std::vector<double> o2::rich::Detector::mLAerogelZ
protected

Definition at line 95 of file Detector.h.

◆ mMaximumHalfLength

float o2::rich::Detector::mMaximumHalfLength = 350
protected

Definition at line 90 of file Detector.h.

◆ mMaxRadialMirror

std::vector<double> o2::rich::Detector::mMaxRadialMirror
protected

Definition at line 98 of file Detector.h.

◆ mMaxRadialRadiator

std::vector<double> o2::rich::Detector::mMaxRadialRadiator
protected

Definition at line 99 of file Detector.h.

◆ mMinRadialMirror

std::vector<double> o2::rich::Detector::mMinRadialMirror
protected

Definition at line 97 of file Detector.h.

◆ mNTiles

int o2::rich::Detector::mNTiles
protected

Definition at line 88 of file Detector.h.

◆ mNumberOfRings

int o2::rich::Detector::mNumberOfRings
protected

Definition at line 87 of file Detector.h.

◆ mR0PhotoDet

std::vector<double> o2::rich::Detector::mR0PhotoDet
protected

Definition at line 105 of file Detector.h.

◆ mR0Radiator

std::vector<double> o2::rich::Detector::mR0Radiator
protected

Definition at line 104 of file Detector.h.

◆ mR0Tilt

std::vector<double> o2::rich::Detector::mR0Tilt
protected

Definition at line 93 of file Detector.h.

◆ mThetaBi

std::vector<double> o2::rich::Detector::mThetaBi
protected

Definition at line 92 of file Detector.h.

◆ mTRplusG

std::vector<double> o2::rich::Detector::mTRplusG
protected

Definition at line 96 of file Detector.h.

◆ mVMirror1

std::vector<double> o2::rich::Detector::mVMirror1
protected

Definition at line 100 of file Detector.h.

◆ mVMirror2

std::vector<double> o2::rich::Detector::mVMirror2
protected

Definition at line 101 of file Detector.h.

◆ mVTile1

std::vector<double> o2::rich::Detector::mVTile1
protected

Definition at line 102 of file Detector.h.

◆ mVTile2

std::vector<double> o2::rich::Detector::mVTile2
protected

Definition at line 103 of file Detector.h.

◆ mZ0Tilt

std::vector<double> o2::rich::Detector::mZ0Tilt
protected

Definition at line 94 of file Detector.h.


The documentation for this class was generated from the following files: