![]() |
Project
|
#include <Detector.h>
Inherits o2::base::DetImpl< Detector >.
Public Types | |
enum | EMedia { Zero , Air , Scintillator , Plastic , FiberRing1 , FiberRing2 , FiberRing3 , FiberRing4 , FiberRing5 , FiberPMT1 , FiberPMT2 , FiberPMT3 , FiberPMT4 , FiberPMT5 , Aluminium , Steel , Titanium , PMT } |
Public Member Functions | |
Detector () | |
Default constructor. | |
~Detector () override | |
Default destructor. | |
Detector (Bool_t isActive) | |
void | InitializeO2Detector () override |
Initializes the detector (adds sensitive volume) | |
Bool_t | ProcessHits (FairVolume *v=nullptr) override |
This method is called for each step during simulation (see FairMCApplication::Stepping()) | |
void | Register () override |
Registers the produced collections in FAIRRootManager. | |
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. | |
void | EndOfEvent () override |
Called at the end of event. | |
void | createMaterials () |
Registers new materials in o2::base::Detector. | |
void | ConstructGeometry () override |
Creates materials and geometry. | |
void | addAlignableVolumes () const override |
Add alignable volumes. | |
![]() | |
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 |
FairModule * | CloneModule () 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) | |
![]() | |
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 | 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 |
Friends | |
template<typename Det > | |
class | o2::base::DetImpl |
Additional Inherited Members | |
![]() | |
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 () |
![]() | |
ClassDefOverride (DetImpl, 0) | |
pointer to hit (collector) buffer location (strictly internal) | |
![]() | |
Detector (const Detector &origin) | |
Detector & | operator= (const Detector &) |
![]() | |
bool * | mShmBusy [NHITBUFFERS] |
std::vector< void * > | mCachedPtr [NHITBUFFERS] |
pointer to bool in shared mem indicating of IO busy | |
int | mCurrentBuffer |
int | mInitialized |
char * | mHitCollectorBufferPtr |
![]() | |
static constexpr int | NHITBUFFERS |
Definition at line 37 of file Detector.h.
Enumerator | |
---|---|
Zero | |
Air | |
Scintillator | |
Plastic | |
FiberRing1 | |
FiberRing2 | |
FiberRing3 | |
FiberRing4 | |
FiberRing5 | |
FiberPMT1 | |
FiberPMT2 | |
FiberPMT3 | |
FiberPMT4 | |
FiberPMT5 | |
Aluminium | |
Steel | |
Titanium | |
PMT |
Definition at line 83 of file Detector.h.
Detector::Detector | ( | ) |
Default constructor.
Definition at line 34 of file Detector.cxx.
|
override |
Default destructor.
Definition at line 43 of file Detector.cxx.
|
explicit |
Constructor with on/off flag
isActive | kTRUE for active detectors (ProcessHits() will be called), kFALSE for inactive detectors |
Definition at line 53 of file Detector.cxx.
|
overridevirtual |
Add alignable volumes.
Reimplemented from o2::base::Detector.
Definition at line 283 of file Detector.cxx.
|
override |
Creates materials and geometry.
Definition at line 270 of file Detector.cxx.
void Detector::createMaterials | ( | ) |
Registers new materials in o2::base::Detector.
Definition at line 160 of file Detector.cxx.
|
override |
Called at the end of event.
Definition at line 155 of file Detector.cxx.
|
inline |
Gets the produced hits.
Definition at line 63 of file Detector.h.
|
overridevirtual |
Initializes the detector (adds sensitive volume)
Implements o2::base::Detector.
Definition at line 62 of file Detector.cxx.
|
override |
This method is called for each step during simulation (see FairMCApplication::Stepping())
Definition at line 79 of file Detector.cxx.
|
override |
Registers the produced collections in FAIRRootManager.
Definition at line 137 of file Detector.cxx.
|
override |
Has to be called after each event to reset the containers.
Definition at line 148 of file Detector.cxx.
|
friend |
Definition at line 128 of file Detector.h.