![]() |
Project
|
#include <Detector.h>
Inherits o2::base::DetImpl< Detector >.
Public Types | |
| enum | EMedium { kAir = 0 , kDriftGas1 = 1 , kDriftGas2 = 2 , kCO2 = 3 , kDriftGas3 = 20 , kAl = 4 , kKevlar = 5 , kNomex = 6 , kMakrolon = 7 , kMylar = 8 , kTedlar = 9 , kPrepreg1 = 10 , kPrepreg2 = 11 , kPrepreg3 = 12 , kEpoxy = 13 , kCu = 14 , kSi = 15 , kG10 = 16 , kPlexiglas = 17 , kSteel = 18 , kPeek = 19 , kAlumina = 21 , kWater = 22 , kBrass = 23 , kEpoxyfm = 24 , kEpoxy1 = 25 , kAlumina1 = 26 } |
Public Member Functions | |
| Detector (Bool_t Active) | |
| Detector () | |
| ~Detector () override | |
| void | InitializeO2Detector () override |
| Bool_t | ProcessHits (FairVolume *v=nullptr) override |
| void | Register () override |
| std::vector< HitGroup > * | getHits (Int_t iColl) const |
| std::string | getHitBranchNames (int coll) const override |
| void | Reset () override |
| void | ConstructGeometry () override |
| Point * | addHit (float x, float y, float z, float time, float nElectrons, float trackID, float detID) |
| Double_t | Gamma (Double_t k) |
| void | EndOfEvent () override |
| void | FinishPrimary () override |
| void | FinishRun () override |
| void | BeginPrimary () override |
| void | PostTrack () override |
| void | PreTrack () override |
| void | SetGeoFileName (const TString file) |
| const TString & | GetGeoFileName () const |
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 |
| 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) | |
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 |
Static Public Member Functions | |
| static o2::base::Detector * | create (bool active) |
| template<typename T > | |
| static T | BetheBlochAleph (T bg, T kp1, T kp2, T kp3, T kp4, T kp5) |
| Copied from AliRoot - should go to someplace else. | |
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 () |
Friends | |
| template<typename Det > | |
| class | o2::base::DetImpl |
Additional Inherited Members | |
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) | |
| Detector & | operator= (const Detector &) |
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 |
| char * | mHitCollectorBufferPtr |
Static Protected Attributes inherited from o2::base::DetImpl< Detector > | |
| static constexpr int | NHITBUFFERS |
Definition at line 31 of file Detector.h.
Local material/media IDs for TPC
Definition at line 36 of file Detector.h.
| o2::tpc::Detector::Detector | ( | Bool_t | Active | ) |
Name : Detector Name Active: kTRUE for active detectors (ProcessHits() will be called) kFALSE for inactive detectors
| o2::tpc::Detector::Detector | ( | ) |
default constructor
|
override |
destructor
| Point * o2::tpc::Detector::addHit | ( | float | x, |
| float | y, | ||
| float | z, | ||
| float | time, | ||
| float | nElectrons, | ||
| float | trackID, | ||
| float | detID | ||
| ) |
This method is an example of how to add your own point of type DetectorPoint to the clones array
|
inlineoverride |
Definition at line 145 of file Detector.h.
|
inlinestatic |
Copied from AliRoot - should go to someplace else.
Empirical ALEPH parameterization of the Bethe-Bloch formula, normalized to 1 at the minimum.
| bg | Beta*Gamma of the incident particle |
| kp* | Parameters for the ALICE TPC |
Definition at line 125 of file Detector.h.
|
override |
Create the detector geometry
|
inlinestatic |
Definition at line 72 of file Detector.h.
|
override |
The following methods can be implemented if you need to make any optional action in your detector during the transport.
|
inlineoverride |
Definition at line 143 of file Detector.h.
|
inlineoverride |
Definition at line 144 of file Detector.h.
| Double_t Detector::Gamma | ( | Double_t | k | ) |
Copied from AliRoot - should go to someplace else Function to generate random numbers according to Gamma function From Hisashi Tanizaki: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.158.3866&rep=rep1&type=pdf Implemented by A. Morsch 14/01/2014 @k is the mean and variance
Definition at line 3194 of file Detector.cxx.
|
inline |
Definition at line 150 of file Detector.h.
|
overridevirtual |
tell the branch names corresponding to hits
Implements o2::base::Detector.
|
inline |
Get the produced hits
Definition at line 96 of file Detector.h.
|
overridevirtual |
Initialization of the detector is done here
Implements o2::base::Detector.
|
inlineoverride |
Definition at line 146 of file Detector.h.
|
inlineoverride |
Definition at line 147 of file Detector.h.
|
override |
this method is called for each step during simulation (see FairMCApplication::Stepping())
|
override |
Registers the produced collections in FAIRRootManager.
|
override |
has to be called after each event to reset the containers
|
inline |
Definition at line 149 of file Detector.h.
|
friend |
Definition at line 198 of file Detector.h.