Go to the documentation of this file.
7 #ifndef CBMLITMCTRACK_H_
8 #define CBMLITMCTRACK_H_
21 using std::stringstream;
76 fPoints[detId].push_back(point);
89 return fPoints.find(detId)->second;
100 return fPoints.find(detId)->second[index];
109 return fPoints.find(detId)->second.size();
220 return fStationPoints.find(detId)->second.find(stationId)->second[index];
232 return fStationPoints.find(detId)->second.find(stationId)->second.size();
239 map<ECbmModuleId, vector<CbmLitMCPoint>>
fPoints;
260 if (numbers.size() == 0)
return 0;
261 if (numbers.size() == 1)
return 1;
263 vector<Int_t> a(numbers.begin(), numbers.end());
267 for (UInt_t
i = 0;
i < a.size() - 1;
i++) {
268 if (a[
i] == (a[
i + 1] - 1)) {
Int_t GetStationId() const
friend std::ostream & operator<<(std::ostream &strm, const CbmLitMCTrack &track)
Operator << for convenient output to ostream.
UInt_t GetNofPointsAtStation(ECbmModuleId detId, Int_t stationId) const
Return number of MC points for specified detector ID and station ID.
UInt_t GetNofPoints(ECbmModuleId detId) const
Return number of MC points for specified detector id.
void SetRingCenterY(Double_t yc)
Set Y coordinate of the ellipse center.
map< ECbmModuleId, vector< CbmLitMCPoint > > fPoints
@ kMvd
Micro-Vertex Detector.
string PointsToString(ECbmModuleId detId, const string &detName) const
Double_t GetRingBaxis() const
Return minor semi-axis of the ellipse.
@ kTof
Time-of-flight Detector.
map< ECbmModuleId, map< Int_t, vector< CbmLitMCPoint > > > fStationPoints
void SetRingCenterX(Double_t xc)
Set X coordinate of the ellipse center.
Int_t GetNofRichHits() const
Return number of RICH hits in ring.
void SetRingAaxis(Double_t a)
Set major semi-axis of the ellipse.
Int_t MaxConsecutiveNumbers(const set< Int_t > &numbers) const
map< ECbmModuleId, Int_t > fMaxConsecutivePoints
Double_t GetRingCenterY() const
Return Y coordinate of the ellipse center.
void CalculateNofConsecutivePoints()
Calculates number of consecutive MC points for specified detector id. Currently works only for STS.
@ kRich
Ring-Imaging Cherenkov Detector.
void SetNofRichHits(Int_t nofRichHits)
SetNumber of RICH hits in ring.
Double_t GetRingAaxis() const
Return major semi-axis of the ellipse.
const vector< CbmLitMCPoint > & GetPoints(ECbmModuleId detId) const
Return vector of MC point for specified detector id.
CbmLitMCTrack()
Constructor.
void SetRingBaxis(Double_t b)
Set minor semi-axis of the ellipse.
@ kTrd
Transition Radiation Detector.
UInt_t GetNofPointsInDifferentStations(ECbmModuleId detId) const
Return number of MC points in different stations for specified detector id.
Int_t GetNofConsecutivePoints(ECbmModuleId detId) const
Return number of consecutive MC points for specified detector id. Currently works only for STS.
Double_t GetRingCenterX() const
Return X coordinate of the ellipse center.
const CbmLitMCPoint & GetPoint(ECbmModuleId detId, Int_t index) const
Return MC point for specified detector id and point index.
virtual string ToString() const
Returns string representation of the class.
map< ECbmModuleId, set< Int_t > > fStationIds
const CbmLitMCPoint & GetPointAtStation(ECbmModuleId detId, Int_t stationId, Int_t index) const
Return MC point for specified detector id and point index.
@ kMuch
Muon detection system.
virtual ~CbmLitMCTrack()
Destructor.
friend F32vec4 max(const F32vec4 &a, const F32vec4 &b)
@ kSts
Silicon Tracking System.
void AddPoint(ECbmModuleId detId, const CbmLitMCPoint &point)
Add point to track.