17#ifndef O2_MCH_TRACK_H_
18#define O2_MCH_TRACK_H_
55 auto begin() {
return mParamAtClusters.begin(); }
56 auto begin()
const {
return mParamAtClusters.begin(); }
58 auto end() {
return mParamAtClusters.end(); }
59 auto end()
const {
return mParamAtClusters.end(); }
61 auto rbegin() {
return mParamAtClusters.rbegin(); }
62 auto rbegin()
const {
return mParamAtClusters.rbegin(); }
64 auto rend() {
return mParamAtClusters.rend(); }
65 auto rend()
const {
return mParamAtClusters.rend(); }
70 auto removeParamAtCluster(std::list<TrackParam>::iterator& itParam) {
return mParamAtClusters.erase(itParam); }
102 std::list<TrackParam> mParamAtClusters{};
103 std::unique_ptr<TrackParam> mCurrentParam{};
104 int mCurrentChamber = -1;
105 bool mConnected =
false;
106 bool mRemovable =
false;
Definition of the MCH track parameters for internal use.
track parameters for internal use
void invalidateCurrentParam()
invalidate the current parameters
TrackParam & createParamAtCluster(const Cluster &cluster)
bool hasCurrentParam() const
check whether the current track parameters exist
void tagRemovableClusters(uint8_t requestedStationMask, bool request2ChInSameSt45)
bool isRemovable() const
return the flag telling if this track should be deleted
bool isBetter(const Track &track) const
int getNClusters() const
Return the number of attached clusters.
auto rend()
Return a reverse iterator passing the track parameters at first cluster.
bool isConnected() const
return the flag telling if this track shares cluster(s) with another
int & getCurrentChamber()
get a reference to the current chamber on which the current parameters are given
Track & operator=(const Track &track)=delete
auto end()
Return an iterator passing the track parameters at last cluster.
auto begin()
Return an iterator to the track parameters at clusters (point to the first one)
int getNClustersInCommon(const Track &track, int stMin=0, int stMax=4) const
const TrackParam & first() const
Return a reference to the track parameters at first cluster.
void connected(bool connected=true)
set the flag telling if this track shares cluster(s) with another
void removable(bool removable=true)
set the flag telling if this track should be deleted
TrackParam & getCurrentParam()
void setCurrentParam(const TrackParam ¶m, int chamber)
auto rbegin()
Return a reverse iterator to the track parameters at clusters (point to the last one)
const TrackParam & last() const
Return a reference to the track parameters at last cluster.
int getNDF() const
Return the number of degrees of freedom of the track.
auto removeParamAtCluster(std::list< TrackParam >::iterator &itParam)
Remove the given track parameters from the internal list and return an iterator to the parameters tha...
bool areCurrentParamValid() const
check if the current parameters are valid
Track & operator=(Track &&)=delete
void addParamAtCluster(const TrackParam ¶m)
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
cluster minimal structure