CMS 3D CMS Logo

Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes

DTTMax Class Reference

#include <DTTMax.h>

List of all members.

Classes

struct  InfoLayer
struct  TMax
 Information on each of the four TMax values in a SL. More...

Public Types

typedef dttmaxenums::SegDir SegDir
typedef dttmaxenums::SigmaFactor SigmaFactor
typedef dttmaxenums::TMaxCells TMaxCells

Public Member Functions

 DTTMax (const std::vector< DTRecHit1D > &hits, const DTSuperLayer &isl, GlobalVector dir, GlobalPoint pos, DTTTrigBaseSync *sync)
 Constructor.
InfoLayer *& getInfoLayer (int layer)
const TMaxgetTMax (TMaxCells cCase)
std::vector< const TMax * > getTMax (const DTSuperLayerId &isl)
std::vector< const TMax * > getTMax (const DTWireId &idWire)
virtual ~DTTMax ()
 Destructor.

Private Member Functions

 DTTMax ()

Private Attributes

bool debug
std::vector< InfoLayer * > theInfoLayers
SegDir theSegDir
std::string theSegType
std::vector< TMax * > theTMaxes

Detailed Description

Class to calculate the different TMax values according to the track path

Date:
2008/08/04 16:18:46
Revision:
1.1
Author:
Marina Giunta

Definition at line 34 of file DTTMax.h.


Member Typedef Documentation

Definition at line 37 of file DTTMax.h.

Definition at line 38 of file DTTMax.h.

Definition at line 36 of file DTTMax.h.


Constructor & Destructor Documentation

DTTMax::DTTMax ( const std::vector< DTRecHit1D > &  hits,
const DTSuperLayer isl,
GlobalVector  dir,
GlobalPoint  pos,
DTTTrigBaseSync sync 
)

Constructor.

DTTMax::~DTTMax ( ) [virtual]

Destructor.

Definition at line 370 of file DTTMax.cc.

References theInfoLayers, and theTMaxes.

               {
  for (vector<InfoLayer*>::const_iterator ilay = theInfoLayers.begin();
       ilay != theInfoLayers.end(); ilay++) {
    delete (*ilay);
  }

  for (vector<TMax*>::const_iterator iTmax = theTMaxes.begin();
       iTmax != theTMaxes.end(); iTmax++) {
    delete (*iTmax);
  }
}
DTTMax::DTTMax ( ) [inline, private]

Definition at line 86 of file DTTMax.h.

{}; // Hide default constructor

Member Function Documentation

InfoLayer*& DTTMax::getInfoLayer ( int  layer) [inline]

Definition at line 83 of file DTTMax.h.

References theInfoLayers.

{return theInfoLayers[layer-1];}
vector< const DTTMax::TMax * > DTTMax::getTMax ( const DTSuperLayerId isl)

Definition at line 354 of file DTTMax.cc.

References dttmaxenums::c123, dttmaxenums::c124, dttmaxenums::c134, dttmaxenums::c234, getTMax(), and v.

                                                                    {
  vector<const TMax*> v;
  // add TMax* to the vector only if it really exists 
  if(getTMax(c123)) v.push_back(getTMax(c123)); 
  if(getTMax(c124)) v.push_back(getTMax(c124));
  if(getTMax(c134)) v.push_back(getTMax(c134));
  if(getTMax(c234)) v.push_back(getTMax(c234));  
  return v;
}
const DTTMax::TMax * DTTMax::getTMax ( TMaxCells  cCase)

Definition at line 365 of file DTTMax.cc.

References theTMaxes.

                                                {
  return theTMaxes[cCase];
}
vector< const DTTMax::TMax * > DTTMax::getTMax ( const DTWireId idWire)

Definition at line 327 of file DTTMax.cc.

References dttmaxenums::c123, dttmaxenums::c124, dttmaxenums::c134, dttmaxenums::c234, DTLayerId::layer(), and v.

Referenced by DTVDriftCalibration::analyze(), and getTMax().

                                                                 {
  vector<const TMax*> v;
  if(idWire.layer()==1) {
    v.push_back(getTMax(c123)); //FIXME: needs pointer
    v.push_back(getTMax(c124));
    v.push_back(getTMax(c134));
  }
  else if(idWire.layer()==2) {
    v.push_back(getTMax(c123));
    v.push_back(getTMax(c124));
    v.push_back(getTMax(c234));
  }
  else if(idWire.layer()==3) {
    v.push_back(getTMax(c123));
    v.push_back(getTMax(c134));
    v.push_back(getTMax(c234));
  }
  else {
    v.push_back(getTMax(c124));
    v.push_back(getTMax(c134));
    v.push_back(getTMax(c234));
  }
  return v;
}

Member Data Documentation

bool DTTMax::debug [private]

Definition at line 86 of file DTTMax.h.

std::vector<InfoLayer*> DTTMax::theInfoLayers [private]

Definition at line 91 of file DTTMax.h.

Referenced by getInfoLayer(), and ~DTTMax().

Definition at line 93 of file DTTMax.h.

std::string DTTMax::theSegType [private]

Definition at line 94 of file DTTMax.h.

std::vector<TMax*> DTTMax::theTMaxes [private]

Definition at line 92 of file DTTMax.h.

Referenced by getTMax(), and ~DTTMax().