|
CbmRoot
|
#include <CbmMuchSegmentSector.h>
Public Member Functions | |
| CbmMuchSegmentSector () | |
| virtual | ~CbmMuchSegmentSector () |
| CbmMuchSegmentSector (TString inputFile, TString digiFileName, Int_t flag) | |
| virtual InitStatus | Init () |
| void | SegmentMuch () |
| void | DebugSwitchOn () |
Private Member Functions | |
| virtual void | SetParContainers () |
| Int_t | SegmentLayerSide (CbmMuchLayerSide *layerSide) |
| Int_t | SegmentModule (CbmMuchModuleGemRadial *module, Bool_t useModuleDesign) |
| void | SegmentSector (CbmMuchModuleGemRadial *module, CbmMuchSectorRadial *sector) |
| void | ReadInputFile () |
| void | DrawSegmentation () |
| void | Trim (std::string &str) |
| Bool_t | IsDummyLine (std::string &str) |
| void | OmitDummyLines (std::ifstream &infile, std::string &str) |
| std::vector< std::string > & | Split (const std::string &s, char delim, std::vector< std::string > &elems) |
| std::vector< std::string > | Split (const std::string &s, char delim) |
| template<class T> | |
| void | StrToNum (std::string &str, T &number) |
| CbmMuchSegmentSector (const CbmMuchSegmentSector &) | |
| CbmMuchSegmentSector & | operator= (const CbmMuchSegmentSector &) |
Private Attributes | |
| CbmGeoMuchPar * | fGeoPar |
| Int_t | fNStations |
| Int_t | fFlag |
| TObjArray * | fStations |
| TString | fInputFileName |
| TString | fDigiFileName |
| std::map< Int_t, Int_t > | fNRegions |
| std::map< Int_t, std::vector< Double_t > > | fRadii |
| std::map< Int_t, std::vector< Double_t > > | fAngles |
| std::map< Int_t, std::vector< Double_t > > | fSecLx |
| std::map< Int_t, std::vector< Double_t > > | fSecLy |
| std::map< Int_t, Int_t > | fNChannels |
| std::map< Int_t, std::vector< Int_t > > | fNCols |
| std::map< Int_t, std::vector< Int_t > > | fNRows |
| Int_t | fDebug |
Definition at line 37 of file CbmMuchSegmentSector.h.
| CbmMuchSegmentSector::CbmMuchSegmentSector | ( | ) |
Default constructor.
Definition at line 46 of file CbmMuchSegmentSector.cxx.
References fAngles, fDebug, fDigiFileName, fFlag, fGeoPar, fInputFileName, fNChannels, fNCols, fNRegions, fNRows, fNStations, fRadii, fSecLx, fSecLy, and fStations.
Referenced by CbmMuchSegmentSector(), and operator=().
|
virtual |
Destructor.
Definition at line 90 of file CbmMuchSegmentSector.cxx.
| CbmMuchSegmentSector::CbmMuchSegmentSector | ( | TString | inputFile, |
| TString | digiFileName, | ||
| Int_t | flag ) |
Standard constructor.
| inputFile | Name of the input parameters file |
| digiFileName | Name of the output file with segmentation parameters for C++11 compatible mode char* changed to TString. |
Definition at line 68 of file CbmMuchSegmentSector.cxx.
References fAngles, fDebug, fDigiFileName, fFlag, fGeoPar, fInputFileName, fNChannels, fNCols, fNRegions, fNRows, fNStations, fRadii, fSecLx, fSecLy, and fStations.
|
private |
References CbmMuchSegmentSector().
|
inline |
Definition at line 59 of file CbmMuchSegmentSector.h.
References fDebug.
|
private |
Draw segmentation
modified for rpc
Definition at line 310 of file CbmMuchSegmentSector.cxx.
References CbmMuchSectorRadial::AddPads(), CbmMuchSectorRadial::DrawPads(), fDebug, fDigiFileName, fNRegions, fRadii, fStations, CbmMuchModule::GetDetectorType(), CbmMuchStation::GetLayer(), CbmMuchLayerSide::GetModule(), CbmMuchLayerSide::GetNModules(), CbmMuchModuleGem::GetNSectors(), CbmMuchStation::GetRmin(), CbmMuchModuleGem::GetSectorByIndex(), and CbmMuchLayer::GetSide().
Referenced by SegmentMuch().
|
virtual |
Initialization.
Definition at line 104 of file CbmMuchSegmentSector.cxx.
References fAngles, fDebug, fGeoPar, fNRegions, fNStations, fStations, ReadInputFile(), and SegmentMuch().
|
inlineprivate |
Definition at line 120 of file CbmMuchSegmentSector.h.
References Trim().
Referenced by OmitDummyLines().
|
inlineprivate |
Definition at line 126 of file CbmMuchSegmentSector.h.
References IsDummyLine().
Referenced by ReadInputFile().
|
private |
References CbmMuchSegmentSector().
|
private |
Reads input parameters for the segmentation.
Definition at line 252 of file CbmMuchSegmentSector.cxx.
References fAngles, fInputFileName, fNRegions, fNStations, fRadii, OmitDummyLines(), Split(), and StrToNum().
Referenced by Init().
|
private |
Performs segmentation of the given layer side.
| layerSide | layer side to segment |
modified for rpc
Definition at line 167 of file CbmMuchSegmentSector.cxx.
References CbmMuchModule::GetDetectorType(), CbmMuchLayerSide::GetModule(), CbmMuchLayerSide::GetNModules(), and SegmentModule().
Referenced by SegmentMuch().
|
private |
Performs segmentation of the given module.
| module | Module to segment |
| useModuleDesign | Whether module design is used |
Definition at line 188 of file CbmMuchSegmentSector.cxx.
References fAngles, fDebug, fFlag, fNRegions, fRadii, fStations, CbmMuchAddress::GetLayerIndex(), CbmMuchAddress::GetLayerSideIndex(), CbmMuchAddress::GetModuleIndex(), CbmMuchStation::GetRmax(), CbmMuchStation::GetRmin(), CbmMuchAddress::GetStationIndex(), and sqrt().
Referenced by SegmentLayerSide().
| void CbmMuchSegmentSector::SegmentMuch | ( | ) |
Performs the segmentation of all stations.
Save old global file and folder pointer to avoid messing with FairRoot
Restore old global file and folder pointer to avoid messing with FairRoot
Definition at line 133 of file CbmMuchSegmentSector.cxx.
References DrawSegmentation(), fDigiFileName, fStations, CbmMuchStation::GetLayer(), CbmMuchStation::GetNLayers(), CbmMuchLayer::GetSideB(), CbmMuchLayer::GetSideF(), and SegmentLayerSide().
Referenced by Init().
|
private |
Performs segmentation of the given sector in the module.
| module | Module which contains the given sector |
| sector | Sector to segment |
|
privatevirtual |
Get parameter containers
Definition at line 94 of file CbmMuchSegmentSector.cxx.
References fGeoPar.
|
inlineprivate |
Definition at line 144 of file CbmMuchSegmentSector.h.
References Split().
|
inlineprivate |
Definition at line 133 of file CbmMuchSegmentSector.h.
Referenced by ReadInputFile(), and Split().
|
inlineprivate |
Definition at line 151 of file CbmMuchSegmentSector.h.
Referenced by ReadInputFile().
|
inlineprivate |
Definition at line 112 of file CbmMuchSegmentSector.h.
Referenced by IsDummyLine().
|
private |
Definition at line 71 of file CbmMuchSegmentSector.h.
Referenced by CbmMuchSegmentSector(), CbmMuchSegmentSector(), Init(), ReadInputFile(), and SegmentModule().
|
private |
Definition at line 79 of file CbmMuchSegmentSector.h.
Referenced by CbmMuchSegmentSector(), CbmMuchSegmentSector(), DebugSwitchOn(), DrawSegmentation(), Init(), and SegmentModule().
|
private |
Definition at line 67 of file CbmMuchSegmentSector.h.
Referenced by CbmMuchSegmentSector(), CbmMuchSegmentSector(), DrawSegmentation(), and SegmentMuch().
|
private |
Definition at line 64 of file CbmMuchSegmentSector.h.
Referenced by CbmMuchSegmentSector(), CbmMuchSegmentSector(), and SegmentModule().
|
private |
Definition at line 62 of file CbmMuchSegmentSector.h.
Referenced by CbmMuchSegmentSector(), CbmMuchSegmentSector(), Init(), and SetParContainers().
|
private |
Definition at line 66 of file CbmMuchSegmentSector.h.
Referenced by CbmMuchSegmentSector(), CbmMuchSegmentSector(), and ReadInputFile().
Definition at line 76 of file CbmMuchSegmentSector.h.
Referenced by CbmMuchSegmentSector(), and CbmMuchSegmentSector().
Definition at line 77 of file CbmMuchSegmentSector.h.
Referenced by CbmMuchSegmentSector(), and CbmMuchSegmentSector().
Definition at line 68 of file CbmMuchSegmentSector.h.
Referenced by CbmMuchSegmentSector(), CbmMuchSegmentSector(), DrawSegmentation(), Init(), ReadInputFile(), and SegmentModule().
Definition at line 78 of file CbmMuchSegmentSector.h.
Referenced by CbmMuchSegmentSector(), and CbmMuchSegmentSector().
|
private |
Definition at line 63 of file CbmMuchSegmentSector.h.
Referenced by CbmMuchSegmentSector(), CbmMuchSegmentSector(), Init(), and ReadInputFile().
|
private |
Definition at line 69 of file CbmMuchSegmentSector.h.
Referenced by CbmMuchSegmentSector(), CbmMuchSegmentSector(), DrawSegmentation(), ReadInputFile(), and SegmentModule().
|
private |
Definition at line 73 of file CbmMuchSegmentSector.h.
Referenced by CbmMuchSegmentSector(), and CbmMuchSegmentSector().
|
private |
Definition at line 75 of file CbmMuchSegmentSector.h.
Referenced by CbmMuchSegmentSector(), and CbmMuchSegmentSector().
|
private |
Definition at line 65 of file CbmMuchSegmentSector.h.
Referenced by CbmMuchSegmentSector(), CbmMuchSegmentSector(), DrawSegmentation(), Init(), SegmentModule(), and SegmentMuch().