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 32 of file CbmMuchSegmentSector.h.
CbmMuchSegmentSector::CbmMuchSegmentSector | ( | ) |
Default constructor.
Definition at line 42 of file CbmMuchSegmentSector.cxx.
|
virtual |
Destructor.
Definition at line 84 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 62 of file CbmMuchSegmentSector.cxx.
|
private |
|
inline |
Definition at line 54 of file CbmMuchSegmentSector.h.
References fDebug.
|
private |
Draw segmentation
modified for rpc
Definition at line 304 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 97 of file CbmMuchSegmentSector.cxx.
References fAngles, fDebug, fGeoPar, fNRegions, fNStations, fStations, CbmGeoMuchPar::GetStations(), ReadInputFile(), and SegmentMuch().
|
inlineprivate |
Definition at line 121 of file CbmMuchSegmentSector.h.
References Trim().
Referenced by OmitDummyLines().
|
inlineprivate |
Definition at line 127 of file CbmMuchSegmentSector.h.
References IsDummyLine().
Referenced by ReadInputFile().
|
private |
|
private |
Reads input parameters for the segmentation.
Definition at line 247 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 160 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 181 of file CbmMuchSegmentSector.cxx.
References CbmMuchModuleGem::AddSector(), fAngles, fDebug, fFlag, fNRegions, fRadii, fStations, CbmMuchModule::GetDetectorId(), CbmMuchModuleGemRadial::GetDx1(), CbmMuchModuleGemRadial::GetDx2(), CbmMuchModuleGemRadial::GetDy(), CbmMuchAddress::GetLayerIndex(), CbmMuchAddress::GetLayerSideIndex(), CbmMuchAddress::GetModuleIndex(), CbmMuchModule::GetPosition(), CbmMuchStation::GetRmax(), CbmMuchStation::GetRmin(), CbmMuchAddress::GetStationIndex(), i, and sqrt().
Referenced by SegmentLayerSide().
void CbmMuchSegmentSector::SegmentMuch | ( | ) |
Performs the segmentation of all stations.
Definition at line 128 of file CbmMuchSegmentSector.cxx.
References DrawSegmentation(), f, 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 88 of file CbmMuchSegmentSector.cxx.
References fGeoPar.
|
inlineprivate |
Definition at line 144 of file CbmMuchSegmentSector.h.
References Split().
|
inlineprivate |
Definition at line 134 of file CbmMuchSegmentSector.h.
Referenced by ReadInputFile(), and Split().
|
inlineprivate |
Definition at line 150 of file CbmMuchSegmentSector.h.
Referenced by ReadInputFile().
|
inlineprivate |
Definition at line 113 of file CbmMuchSegmentSector.h.
Referenced by IsDummyLine().
|
private |
Definition at line 68 of file CbmMuchSegmentSector.h.
Referenced by Init(), ReadInputFile(), and SegmentModule().
|
private |
Definition at line 79 of file CbmMuchSegmentSector.h.
Referenced by DebugSwitchOn(), DrawSegmentation(), Init(), and SegmentModule().
|
private |
Definition at line 62 of file CbmMuchSegmentSector.h.
Referenced by DrawSegmentation(), and SegmentMuch().
|
private |
Definition at line 59 of file CbmMuchSegmentSector.h.
Referenced by SegmentModule().
|
private |
Definition at line 57 of file CbmMuchSegmentSector.h.
Referenced by Init(), and SetParContainers().
|
private |
Definition at line 61 of file CbmMuchSegmentSector.h.
Referenced by ReadInputFile().
|
private |
Definition at line 74 of file CbmMuchSegmentSector.h.
|
private |
Definition at line 76 of file CbmMuchSegmentSector.h.
|
private |
Definition at line 64 of file CbmMuchSegmentSector.h.
Referenced by DrawSegmentation(), Init(), ReadInputFile(), and SegmentModule().
|
private |
Definition at line 78 of file CbmMuchSegmentSector.h.
|
private |
Definition at line 58 of file CbmMuchSegmentSector.h.
Referenced by Init(), and ReadInputFile().
|
private |
Definition at line 66 of file CbmMuchSegmentSector.h.
Referenced by DrawSegmentation(), ReadInputFile(), and SegmentModule().
|
private |
Definition at line 70 of file CbmMuchSegmentSector.h.
|
private |
Definition at line 72 of file CbmMuchSegmentSector.h.
|
private |
Definition at line 60 of file CbmMuchSegmentSector.h.
Referenced by DrawSegmentation(), Init(), SegmentModule(), and SegmentMuch().