CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
DTTracoCand Class Reference

#include <DTTracoCand.h>

Public Member Functions

const DTBtiTrigDataBtiTrig () const
 Return associated BTI trigger. More...
 
 DTTracoCand ()
 Constructor. More...
 
 DTTracoCand (DTTracoChip *tc, const DTBtiTrigData *btitr, int pos, int step)
 Constructor. More...
 
 DTTracoCand (const DTTracoCand &tccand)
 Constructor. More...
 
int K () const
 Return K-KRAD. More...
 
bool operator< (const DTTracoCand &c) const
 returns true if it has smaller K w.r.t. DTTracoChip center K (sort ascend) More...
 
DTTracoCandoperator= (const DTTracoCand &tccand)
 Assignment operator. More...
 
int position () const
 Return position inside TRACO. More...
 
void print () const
 Print candidate. More...
 
void setBits (int itk)
 set quality bits for first/second track More...
 
void setUnused ()
 set candidate unused (usable) More...
 
void setUsed ()
 set candidate used (unusable) More...
 
int step () const
 Return Bunch crossing. More...
 
DTTracoChipTraco () const
 Return parent TRACO. More...
 
int usable () const
 Check if candidate is usable. More...
 
int X () const
 Return local X coordinate. More...
 
 ~DTTracoCand ()
 Destructor. More...
 

Private Attributes

const DTBtiTrigData_btitr
 
BitArray< 7 > _dataword
 
int _position
 
int _step
 
int _tcK
 
int _tcX
 
DTTracoChip_traco
 
int _usable
 

Detailed Description

Implementation of DTTracoChip candidate

Author
C. Grandi, S. Vanini

Modifications: S.V. store BtiTrig pointer instead of TrigData

Definition at line 38 of file DTTracoCand.h.

Constructor & Destructor Documentation

DTTracoCand::DTTracoCand ( )
inline

Constructor.

Definition at line 42 of file DTTracoCand.h.

References operator=(), and ~DTTracoCand().

42 {}
DTTracoCand::DTTracoCand ( DTTracoChip tc,
const DTBtiTrigData btitr,
int  pos,
int  step 
)

Constructor.

Definition at line 39 of file DTTracoCand.cc.

References _tcK, _tcX, funct::abs(), DTTracoChip::BTIC(), DTBtiTrigData::btiSL(), gather_cfg::cout, DTTracoChip::IBTIOFF(), DTBtiTrigData::K(), DTTracoChip::KRad(), DTConfig::NBTITC, and DTBtiTrigData::X().

41  : _traco(tc), _btitr(btitr), _step(step), _position(pos), _usable(1) {
42 
43  if (pos < 1 || pos > 4 * DTConfigTraco::NBTITC) {
44  std::cout << "DTTracoCand::DTTracoCand: wrong position: " << pos;
45  std::cout << ", dummy coordinates set!" << std::endl;
46  _tcX = 9999;
47  _tcK = 9999;
48  return;
49  }
50  // abs value of K in local TRACO frame (angle conversion):
51  // for sorting the angle closest to normal of chamber
52  // Ktr = Kbti - BTIC - KRAD
53  _tcK = abs(btitr->K() - tc->KRad() - tc->BTIC());
54 
55  // X in local TRACO frame (position conversion): Xtr = Xbti + BTIC*(i+4 or
56  // o-4)
57  int lstep = tc->BTIC();
58  _tcX = btitr->X() + lstep * ((pos <= DTConfigTraco::NBTITC) *
59  (pos - 1 + DTConfigTraco::NBTITC) + // inner
60  (pos > DTConfigTraco::NBTITC) *
61  (pos - 1 - DTConfigTraco::NBTITC)); // outer
62 
63  // NEWGEO add phi sl offset to inner positions
64  if (btitr->btiSL() == 1)
65  _tcX += tc->IBTIOFF();
66 
67  /* DEBUG
68  btitr->print();
69  std::cout << "K in local " << tc->number() << " TRACO " << K() << std::endl;
70  std::cout << "X in local " << tc->number() << " TRACO " << X() << " offset "
71  << tc->IBTIOFF() << std::endl; print();
72  */
73 
74  /*
75  //OBSOLETE
76  //ATTENTION!! This isn't the "real" MB-superlayer shift
77  //because wires have been renamed/shifted in : DTTrigGeom::cellMapping(int
78  sl, int lay, int tube)
79  //this is a "patch" : to BE FIXED with NEW GEOMETRY!
80 
81  //MB1: half cell shift
82  if(btitr->btiSL()==1 && tc->station()==1)
83  _tcX += (int)(0.5*lstep);
84  //MB2
85  // if(btitr->btiSL()==1 && tc->station()==2)
86  // _tcX += (int)(-lstep);
87 
88  //std::cout << "X in local TRACO frame = " << _tcX << std::endl;
89  //print();
90  */
91 }
int BTIC() const
BTIC parameter.
Definition: DTTracoChip.h:124
int KRad() const
K par of the radial angle of corr center referred to plane sl.
int X() const
Return trigger X parameter.
const DTBtiTrigData * _btitr
Definition: DTTracoCand.h:109
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
int btiSL() const
Return parent BTI superlayer.
int IBTIOFF() const
IBTIOFF parameter.
Definition: DTTracoChip.h:127
int K() const
Return trigger K parameter.
step
Definition: StallMonitor.cc:94
static const int NBTITC
Definition: DTConfig.h:38
DTTracoChip * _traco
Definition: DTTracoCand.h:107
DTTracoCand::DTTracoCand ( const DTTracoCand tccand)

Constructor.

Definition at line 93 of file DTTracoCand.cc.

94  : _traco(tccand._traco), _btitr(tccand._btitr), _step(tccand._step),
95  _position(tccand._position), _usable(tccand._usable), _tcX(tccand._tcX),
96  _tcK(tccand._tcK) {}
const DTBtiTrigData * _btitr
Definition: DTTracoCand.h:109
DTTracoChip * _traco
Definition: DTTracoCand.h:107
DTTracoCand::~DTTracoCand ( )

Destructor.

Definition at line 101 of file DTTracoCand.cc.

Referenced by DTTracoCand().

101 {}

Member Function Documentation

const DTBtiTrigData* DTTracoCand::BtiTrig ( ) const
inline

Return associated BTI trigger.

Definition at line 69 of file DTTracoCand.h.

References _btitr.

Referenced by DTTracoChip::AdjBtiLTSuppressed(), DTTracoChip::DoAdjBtiLts(), DTTracoChip::setPV(), DTTracoChip::storeCorr(), and DTTracoChip::storeUncorr().

69 { return _btitr; }
const DTBtiTrigData * _btitr
Definition: DTTracoCand.h:109
int DTTracoCand::K ( ) const
inline

Return K-KRAD.

Definition at line 78 of file DTTracoCand.h.

References _tcK.

Referenced by DTTracoChip::setPV().

78 { return _tcK; }
bool DTTracoCand::operator< ( const DTTracoCand c) const
inline

returns true if it has smaller K w.r.t. DTTracoChip center K (sort ascend)

Definition at line 87 of file DTTracoCand.h.

References _tcK, and print().

87 { return _tcK < c._tcK; }
DTTracoCand & DTTracoCand::operator= ( const DTTracoCand tccand)

Assignment operator.

Definition at line 107 of file DTTracoCand.cc.

References _btitr, _position, _step, _tcK, _tcX, _traco, and _usable.

Referenced by DTTracoCand().

107  {
108  if (this != &tccand) {
109  _traco = tccand._traco;
110  _btitr = tccand._btitr;
111  _position = tccand._position;
112  _step = tccand._step;
113  _usable = tccand._usable;
114  _tcX = tccand._tcX;
115  _tcK = tccand._tcK;
116  }
117  return *this;
118 }
const DTBtiTrigData * _btitr
Definition: DTTracoCand.h:109
DTTracoChip * _traco
Definition: DTTracoCand.h:107
int DTTracoCand::position ( ) const
inline

Return position inside TRACO.

Definition at line 75 of file DTTracoCand.h.

References _position.

Referenced by DTTracoChip::AdjBtiLTSuppressed(), and DTTracoChip::setPV().

75 { return _position; }
void DTTracoCand::print ( void  ) const

Print candidate.

Definition at line 120 of file DTTracoCand.cc.

References _btitr, _position, _step, _tcK, _traco, DTBtiTrigData::btiNumber(), DTBtiTrigData::btiSL(), DTBtiTrigData::code(), gather_cfg::cout, DTBtiTrigData::K(), DTTracoChip::KRad(), and DTBtiTrigData::X().

Referenced by operator<(), DTTracoChip::run(), DTTracoChip::setPV(), DTTracoChip::storeCorr(), and DTTracoChip::storeUncorr().

120  {
121  // int sl = _btitr->btiSL();
122  std::cout << " step " << _step;
123  std::cout << " Position " << _position;
124  std::cout << " Code = " << _btitr->code();
125  std::cout << " SL = " << _btitr->btiSL();
126  std::cout << " N = " << _btitr->btiNumber();
127  std::cout << " X = " << _btitr->X();
128  std::cout << " K = " << _btitr->K();
129  std::cout << " Kr = " << _traco->KRad();
130  std::cout << " |K-Kr| = " << _tcK << std::endl;
131 }
int KRad() const
K par of the radial angle of corr center referred to plane sl.
int X() const
Return trigger X parameter.
const DTBtiTrigData * _btitr
Definition: DTTracoCand.h:109
int btiNumber() const
Return parent BTI number.
int btiSL() const
Return parent BTI superlayer.
int K() const
Return trigger K parameter.
DTTracoChip * _traco
Definition: DTTracoCand.h:107
int code() const
Return trigger code.
void DTTracoCand::setBits ( int  itk)

set quality bits for first/second track

Referenced by setUnused().

void DTTracoCand::setUnused ( )
inline

set candidate unused (usable)

Definition at line 60 of file DTTracoCand.h.

References _usable, and setBits().

Referenced by DTTracoChip::storeUncorr().

60 { _usable = 1; }
void DTTracoCand::setUsed ( )
inline

set candidate used (unusable)

Definition at line 57 of file DTTracoCand.h.

References _usable.

Referenced by DTTracoChip::run().

57 { _usable = 0; }
int DTTracoCand::step ( ) const
inline

Return Bunch crossing.

Definition at line 72 of file DTTracoCand.h.

References _step.

Referenced by DTTracoChip::AdjBtiLTSuppressed(), and DTTracoChip::setPV().

72 { return _step; }
DTTracoChip* DTTracoCand::Traco ( ) const
inline

Return parent TRACO.

Definition at line 66 of file DTTracoCand.h.

References _traco.

66 { return _traco; }
DTTracoChip * _traco
Definition: DTTracoCand.h:107
int DTTracoCand::usable ( ) const
inline

Check if candidate is usable.

Definition at line 84 of file DTTracoCand.h.

References _usable.

84 { return _usable; }
int DTTracoCand::X ( ) const
inline

Return local X coordinate.

Definition at line 81 of file DTTracoCand.h.

References _tcX.

Referenced by svgfig.Curve.Sample::__repr__(), DTTracoChip::storeCorr(), and DTTracoChip::storeUncorr().

81 { return _tcX; }

Member Data Documentation

const DTBtiTrigData* DTTracoCand::_btitr
private

Definition at line 109 of file DTTracoCand.h.

Referenced by BtiTrig(), operator=(), and print().

BitArray<7> DTTracoCand::_dataword
private

Definition at line 112 of file DTTracoCand.h.

int DTTracoCand::_position
private

Definition at line 114 of file DTTracoCand.h.

Referenced by operator=(), position(), and print().

int DTTracoCand::_step
private

Definition at line 113 of file DTTracoCand.h.

Referenced by operator=(), print(), and step().

int DTTracoCand::_tcK
private

Definition at line 117 of file DTTracoCand.h.

Referenced by DTTracoCand(), K(), operator<(), operator=(), and print().

int DTTracoCand::_tcX
private

Definition at line 116 of file DTTracoCand.h.

Referenced by DTTracoCand(), operator=(), and X().

DTTracoChip* DTTracoCand::_traco
private

Definition at line 107 of file DTTracoCand.h.

Referenced by operator=(), print(), and Traco().

int DTTracoCand::_usable
private

Definition at line 115 of file DTTracoCand.h.

Referenced by operator=(), setUnused(), setUsed(), and usable().