CbmRoot
CbmMuchSegmentSector Class Reference

#include <CbmMuchSegmentSector.h>

Inheritance diagram for CbmMuchSegmentSector:
[legend]
Collaboration diagram for CbmMuchSegmentSector:
[legend]

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 &)
 
CbmMuchSegmentSectoroperator= (const CbmMuchSegmentSector &)
 

Private Attributes

CbmGeoMuchParfGeoPar
 
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
 

Detailed Description

Definition at line 32 of file CbmMuchSegmentSector.h.

Constructor & Destructor Documentation

◆ CbmMuchSegmentSector() [1/3]

CbmMuchSegmentSector::CbmMuchSegmentSector ( )

Default constructor.

Definition at line 42 of file CbmMuchSegmentSector.cxx.

◆ ~CbmMuchSegmentSector()

CbmMuchSegmentSector::~CbmMuchSegmentSector ( )
virtual

Destructor.

Definition at line 84 of file CbmMuchSegmentSector.cxx.

◆ CbmMuchSegmentSector() [2/3]

CbmMuchSegmentSector::CbmMuchSegmentSector ( TString  inputFile,
TString  digiFileName,
Int_t  flag 
)

Standard constructor.

Parameters
inputFileName of the input parameters file
digiFileNameName of the output file with segmentation parameters for C++11 compatible mode char* changed to TString.

Definition at line 62 of file CbmMuchSegmentSector.cxx.

◆ CbmMuchSegmentSector() [3/3]

CbmMuchSegmentSector::CbmMuchSegmentSector ( const CbmMuchSegmentSector )
private

Member Function Documentation

◆ DebugSwitchOn()

void CbmMuchSegmentSector::DebugSwitchOn ( )
inline

Definition at line 54 of file CbmMuchSegmentSector.h.

References fDebug.

◆ DrawSegmentation()

◆ Init()

InitStatus CbmMuchSegmentSector::Init ( )
virtual

◆ IsDummyLine()

Bool_t CbmMuchSegmentSector::IsDummyLine ( std::string &  str)
inlineprivate

Definition at line 121 of file CbmMuchSegmentSector.h.

References Trim().

Referenced by OmitDummyLines().

◆ OmitDummyLines()

void CbmMuchSegmentSector::OmitDummyLines ( std::ifstream &  infile,
std::string &  str 
)
inlineprivate

Definition at line 127 of file CbmMuchSegmentSector.h.

References IsDummyLine().

Referenced by ReadInputFile().

◆ operator=()

CbmMuchSegmentSector& CbmMuchSegmentSector::operator= ( const CbmMuchSegmentSector )
private

◆ ReadInputFile()

void CbmMuchSegmentSector::ReadInputFile ( )
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().

◆ SegmentLayerSide()

Int_t CbmMuchSegmentSector::SegmentLayerSide ( CbmMuchLayerSide layerSide)
private

Performs segmentation of the given layer side.

Parameters
layerSidelayer side to segment
Returns
number of segmented sectors

modified for rpc

Definition at line 160 of file CbmMuchSegmentSector.cxx.

References CbmMuchModule::GetDetectorType(), CbmMuchLayerSide::GetModule(), CbmMuchLayerSide::GetNModules(), and SegmentModule().

Referenced by SegmentMuch().

◆ SegmentModule()

◆ SegmentMuch()

void CbmMuchSegmentSector::SegmentMuch ( )

◆ SegmentSector()

void CbmMuchSegmentSector::SegmentSector ( CbmMuchModuleGemRadial module,
CbmMuchSectorRadial sector 
)
private

Performs segmentation of the given sector in the module.

Parameters
moduleModule which contains the given sector
sectorSector to segment

◆ SetParContainers()

void CbmMuchSegmentSector::SetParContainers ( )
privatevirtual

Get parameter containers

Definition at line 88 of file CbmMuchSegmentSector.cxx.

References fGeoPar.

◆ Split() [1/2]

std::vector<std::string> CbmMuchSegmentSector::Split ( const std::string &  s,
char  delim 
)
inlineprivate

Definition at line 144 of file CbmMuchSegmentSector.h.

References Split().

◆ Split() [2/2]

std::vector<std::string>& CbmMuchSegmentSector::Split ( const std::string &  s,
char  delim,
std::vector< std::string > &  elems 
)
inlineprivate

Definition at line 134 of file CbmMuchSegmentSector.h.

Referenced by ReadInputFile(), and Split().

◆ StrToNum()

template<class T >
void CbmMuchSegmentSector::StrToNum ( std::string &  str,
T &  number 
)
inlineprivate

Definition at line 150 of file CbmMuchSegmentSector.h.

Referenced by ReadInputFile().

◆ Trim()

void CbmMuchSegmentSector::Trim ( std::string &  str)
inlineprivate

Definition at line 113 of file CbmMuchSegmentSector.h.

Referenced by IsDummyLine().

Member Data Documentation

◆ fAngles

std::map<Int_t, std::vector<Double_t> > CbmMuchSegmentSector::fAngles
private

Definition at line 68 of file CbmMuchSegmentSector.h.

Referenced by Init(), ReadInputFile(), and SegmentModule().

◆ fDebug

Int_t CbmMuchSegmentSector::fDebug
private

Definition at line 79 of file CbmMuchSegmentSector.h.

Referenced by DebugSwitchOn(), DrawSegmentation(), Init(), and SegmentModule().

◆ fDigiFileName

TString CbmMuchSegmentSector::fDigiFileName
private

Definition at line 62 of file CbmMuchSegmentSector.h.

Referenced by DrawSegmentation(), and SegmentMuch().

◆ fFlag

Int_t CbmMuchSegmentSector::fFlag
private

Definition at line 59 of file CbmMuchSegmentSector.h.

Referenced by SegmentModule().

◆ fGeoPar

CbmGeoMuchPar* CbmMuchSegmentSector::fGeoPar
private

Definition at line 57 of file CbmMuchSegmentSector.h.

Referenced by Init(), and SetParContainers().

◆ fInputFileName

TString CbmMuchSegmentSector::fInputFileName
private

Definition at line 61 of file CbmMuchSegmentSector.h.

Referenced by ReadInputFile().

◆ fNChannels

std::map<Int_t, Int_t> CbmMuchSegmentSector::fNChannels
private

Definition at line 74 of file CbmMuchSegmentSector.h.

◆ fNCols

std::map<Int_t, std::vector<Int_t> > CbmMuchSegmentSector::fNCols
private

Definition at line 76 of file CbmMuchSegmentSector.h.

◆ fNRegions

std::map<Int_t, Int_t> CbmMuchSegmentSector::fNRegions
private

Definition at line 64 of file CbmMuchSegmentSector.h.

Referenced by DrawSegmentation(), Init(), ReadInputFile(), and SegmentModule().

◆ fNRows

std::map<Int_t, std::vector<Int_t> > CbmMuchSegmentSector::fNRows
private

Definition at line 78 of file CbmMuchSegmentSector.h.

◆ fNStations

Int_t CbmMuchSegmentSector::fNStations
private

Definition at line 58 of file CbmMuchSegmentSector.h.

Referenced by Init(), and ReadInputFile().

◆ fRadii

std::map<Int_t, std::vector<Double_t> > CbmMuchSegmentSector::fRadii
private

Definition at line 66 of file CbmMuchSegmentSector.h.

Referenced by DrawSegmentation(), ReadInputFile(), and SegmentModule().

◆ fSecLx

std::map<Int_t, std::vector<Double_t> > CbmMuchSegmentSector::fSecLx
private

Definition at line 70 of file CbmMuchSegmentSector.h.

◆ fSecLy

std::map<Int_t, std::vector<Double_t> > CbmMuchSegmentSector::fSecLy
private

Definition at line 72 of file CbmMuchSegmentSector.h.

◆ fStations

TObjArray* CbmMuchSegmentSector::fStations
private

Definition at line 60 of file CbmMuchSegmentSector.h.

Referenced by DrawSegmentation(), Init(), SegmentModule(), and SegmentMuch().


The documentation for this class was generated from the following files: