|
FairShip
|
#include <MTCDetector.h>


Public Member Functions | |
| MTCDetector (const char *name, Bool_t Active, const char *Title="", Int_t DetId=0) | |
| MTCDetector () | |
| void | SetMTCParameters (Double_t width, Double_t height, Double_t fiber_tilt_angle, Double_t iron_thickness, Double_t scifi_thickness, Int_t num_of_agg_channels, Double_t scint_cell_size, Double_t scint_thickness, Int_t number_of_layers, Double_t z_position, Double_t field_strength) |
| virtual void | CreateScintModule (const char *name, TGeoVolumeAssembly *modMotherVol, Double_t z_shift, Double_t width, Double_t height, Double_t thickness, Double_t cellSizeX, Double_t cellSizeY, TGeoMedium *material, Int_t color, Double_t transparency, Int_t LayerId) |
| virtual void | CreateSciFiModule (const char *name, TGeoVolumeAssembly *modMotherVol, Double_t width, Double_t height, Double_t thickness, Int_t LayerId) |
| void | ConstructGeometry () override |
| void | GetPosition (Int_t fDetectorID, TVector3 &vLeft, TVector3 &vRight) |
| TVector3 | GetLocalPos (Int_t fDetectorID, TVector3 *glob) |
| void | GetSiPMPosition (Int_t SiPMChan, TVector3 &A, TVector3 &B) |
| void | SiPMmapping () |
| std::map< Int_t, std::map< Int_t, std::array< float, 2 > > > | GetSiPMmapU () |
| std::map< Int_t, std::map< Int_t, std::array< float, 2 > > > | GetFibresMapU () |
| std::map< Int_t, std::map< Int_t, std::array< float, 2 > > > | GetSiPMmapV () |
| std::map< Int_t, std::map< Int_t, std::array< float, 2 > > > | GetFibresMapV () |
| std::map< Int_t, float > | GetSiPMPos_U () |
| std::map< Int_t, float > | GetSiPMPos_V () |
| Int_t | Get_NSiPMChan () const |
| Float_t | Get_SciFiActiveX () const |
| virtual void | SiPMOverlap () |
| Bool_t | ProcessHits (FairVolume *vol=0) override |
Public Member Functions inherited from SHiP::Detector< MTCDetPoint > | |
| Detector ()=default | |
| Detector (const char *Name, Bool_t Active, Int_t detID) | |
| Detector (const char *Name, Bool_t Active) | |
| ~Detector () override=default | |
| MTCDetPoint * | AddHit (Args &&... args) |
| void | ConstructGeometry () override=0 |
| void | Initialize () override |
| void | Reset () override |
| void | EndOfEvent () override |
| void | Register () override |
| TClonesArray * | GetCollection (Int_t iColl) const override |
| void | UpdatePointTrackIndices (const std::map< Int_t, Int_t > &indexMap) override |
| Update track indices in point collection after track filtering. | |
| void | SetSpecialPhysicsCuts () override |
| void | FinishPrimary () override |
| void | FinishRun () override |
| void | BeginPrimary () override |
| void | PostTrack () override |
| void | PreTrack () override |
| void | BeginEvent () override |
| void | CopyClones (TClonesArray *cl1, TClonesArray *cl2, Int_t offset) override |
Public Member Functions inherited from ISTLPointContainer | |
| virtual void | UpdatePointTrackIndices (const std::map< Int_t, Int_t > &indexMap)=0 |
| Update track indices in point collection after track filtering. | |
| virtual | ~ISTLPointContainer ()=default |
Private Member Functions | |
| MTCDetector (const MTCDetector &)=delete | |
| local SiPM channel position | |
| MTCDetector & | operator= (const MTCDetector &)=delete |
Private Attributes | |
| Double_t | fWidth |
| Double_t | fHeight |
| Double_t | fSciFiActiveX |
| Double_t | fSciFiActiveY |
| Double_t | fSciFiBendingAngle |
| Double_t | fIronThick |
| Double_t | fSciFiThick |
| Double_t | fScintThick |
| Double_t | fScintCellSize |
| Int_t | fLayers |
| Double_t | fZCenter |
| Double_t | fFieldY |
| Double_t | fZEpoxyMat |
| Double_t | fiberMatThick = 0.135 |
| Double_t | fFiberLength |
| Double_t | fFiberPitch = 0.025 |
| Double_t | lowerIronThick = 0.3 |
| Double_t | airGap = 0.1 |
| Double_t | upperIronThick = 0.3 |
| Double_t | zLowerIronInt = -3.5 / 10 |
| Double_t | zFiberMat1 = -1.325 / 10 |
| Double_t | zAirGap = -0.15 / 10 |
| Double_t | zFiberMat2 = 1.025 / 10 |
| Double_t | zUpperIronInt = 3.2 / 10 |
| Double_t | fFiberRadius = 0.01125 |
| Int_t | numFiberLayers = 6 |
| Int_t | fNSiPMChan |
| Int_t | fChannelAggregated |
| Int_t | fNSiPMs = 1 |
| Int_t | fNMats = 1 |
| std::map< Int_t, std::map< Int_t, std::array< float, 2 > > > | fibresSiPM_U |
| std::map< Int_t, std::map< Int_t, std::array< float, 2 > > > | siPMFibres_U |
| mapping of fibres to SiPM channels | |
| std::map< Int_t, std::map< Int_t, std::array< float, 2 > > > | fibresSiPM_V |
| inverse mapping | |
| std::map< Int_t, std::map< Int_t, std::array< float, 2 > > > | siPMFibres_V |
| mapping of fibres to SiPM channels | |
| std::map< Int_t, float > | SiPMPos_U |
| inverse mapping | |
| std::map< Int_t, float > | SiPMPos_V |
Static Private Attributes | |
| static constexpr Int_t | kMaxChannelsPerSiPM = 1000 |
Additional Inherited Members | |
Protected Attributes inherited from SHiP::Detector< MTCDetPoint > | |
| Int_t | fEventID |
| Int_t | fTrackID |
| event index | |
| Int_t | fVolumeID |
| track index | |
| TLorentzVector | fPos |
| volume id | |
| TLorentzVector | fMom |
| position at entrance | |
| Double_t | fTime |
| momentum at entrance | |
| Double_t | fLength |
| time | |
| Double_t | fELoss |
| length | |
| std::vector< MTCDetPoint > * | fDetPoints |
| energy loss | |
| TGeoVolume * | fDetector |
Definition at line 21 of file MTCDetector.h.
| MTCDetector::MTCDetector | ( | const char * | name, |
| Bool_t | Active, | ||
| const char * | Title = "", |
||
| Int_t | DetId = 0 |
||
| ) |
Definition at line 144 of file MTCDetector.cxx.
Definition at line 142 of file MTCDetector.cxx.
|
privatedelete |
local SiPM channel position
|
overridevirtual |
Create the detector geometry
Implements SHiP::Detector< MTCDetPoint >.
Definition at line 316 of file MTCDetector.cxx.
|
virtual |
Definition at line 202 of file MTCDetector.cxx.
|
virtual |
Definition at line 170 of file MTCDetector.cxx.
|
inline |
Definition at line 67 of file MTCDetector.h.
|
inline |
Definition at line 68 of file MTCDetector.h.
|
inline |
Definition at line 56 of file MTCDetector.h.
|
inline |
Definition at line 62 of file MTCDetector.h.
| TVector3 MTCDetector::GetLocalPos | ( | Int_t | fDetectorID, |
| TVector3 * | glob | ||
| ) |
Transform global position to local position in plane
Definition at line 565 of file MTCDetector.cxx.
| void MTCDetector::GetPosition | ( | Int_t | fDetectorID, |
| TVector3 & | vLeft, | ||
| TVector3 & | vRight | ||
| ) |
Get position of single fibre in global coordinate system
Definition at line 517 of file MTCDetector.cxx.
|
inline |
Definition at line 53 of file MTCDetector.h.
|
inline |
Definition at line 59 of file MTCDetector.h.
|
inline |
Definition at line 65 of file MTCDetector.h.
|
inline |
Definition at line 66 of file MTCDetector.h.
| void MTCDetector::GetSiPMPosition | ( | Int_t | SiPMChan, |
| TVector3 & | A, | ||
| TVector3 & | B | ||
| ) |
mean position of fibre2 associated with SiPM channel
Definition at line 586 of file MTCDetector.cxx.
|
privatedelete |
|
override |
This method is called from the MC stepping
Definition at line 380 of file MTCDetector.cxx.
| void MTCDetector::SetMTCParameters | ( | Double_t | width, |
| Double_t | height, | ||
| Double_t | fiber_tilt_angle, | ||
| Double_t | iron_thickness, | ||
| Double_t | scifi_thickness, | ||
| Int_t | num_of_agg_channels, | ||
| Double_t | scint_cell_size, | ||
| Double_t | scint_thickness, | ||
| Int_t | number_of_layers, | ||
| Double_t | z_position, | ||
| Double_t | field_strength | ||
| ) |
Definition at line 148 of file MTCDetector.cxx.
| void MTCDetector::SiPMmapping | ( | ) |
Definition at line 637 of file MTCDetector.cxx.
|
virtual |
Definition at line 434 of file MTCDetector.cxx.
|
private |
Definition at line 92 of file MTCDetector.h.
|
private |
Definition at line 102 of file MTCDetector.h.
|
private |
Definition at line 87 of file MTCDetector.h.
|
private |
Definition at line 88 of file MTCDetector.h.
|
private |
Definition at line 99 of file MTCDetector.h.
|
private |
Definition at line 84 of file MTCDetector.h.
|
private |
Definition at line 74 of file MTCDetector.h.
|
private |
Definition at line 86 of file MTCDetector.h.
|
private |
Definition at line 108 of file MTCDetector.h.
|
private |
inverse mapping
Definition at line 112 of file MTCDetector.h.
|
private |
Definition at line 78 of file MTCDetector.h.
|
private |
Definition at line 82 of file MTCDetector.h.
|
private |
Definition at line 106 of file MTCDetector.h.
|
private |
Definition at line 101 of file MTCDetector.h.
|
private |
Definition at line 103 of file MTCDetector.h.
|
private |
Definition at line 75 of file MTCDetector.h.
|
private |
Definition at line 76 of file MTCDetector.h.
|
private |
Definition at line 77 of file MTCDetector.h.
|
private |
Definition at line 79 of file MTCDetector.h.
|
private |
Definition at line 81 of file MTCDetector.h.
|
private |
Definition at line 80 of file MTCDetector.h.
|
private |
Definition at line 73 of file MTCDetector.h.
|
private |
Definition at line 83 of file MTCDetector.h.
|
private |
Definition at line 85 of file MTCDetector.h.
|
staticconstexprprivate |
Definition at line 104 of file MTCDetector.h.
|
private |
Definition at line 91 of file MTCDetector.h.
|
private |
Definition at line 100 of file MTCDetector.h.
|
private |
mapping of fibres to SiPM channels
Definition at line 110 of file MTCDetector.h.
|
private |
mapping of fibres to SiPM channels
Definition at line 114 of file MTCDetector.h.
|
private |
inverse mapping
Definition at line 115 of file MTCDetector.h.
|
private |
Definition at line 115 of file MTCDetector.h.
|
private |
Definition at line 93 of file MTCDetector.h.
|
private |
Definition at line 96 of file MTCDetector.h.
|
private |
Definition at line 95 of file MTCDetector.h.
|
private |
Definition at line 97 of file MTCDetector.h.
|
private |
Definition at line 94 of file MTCDetector.h.
|
private |
Definition at line 98 of file MTCDetector.h.