CMS 3D CMS Logo

DTBtiCard Class Reference

Contains active DTBtiChips. More...

#include <L1Trigger/DTBti/interface/DTBtiCard.h>

Inheritance diagram for DTBtiCard:

DTCache< DTBtiTrigData > > DTGeomSupplier

List of all members.

Public Member Functions

std::vector< DTBtiChip * > btiList (int)
 Returns the active BTI list in a given superlayer.
void clearCache ()
 Clear all BTI stuff (map & cache).
bool debug () const
 Return TU debug flag.
 DTBtiCard (DTTrigGeom *, DTTTrigBaseSync *)
 Constructor.
DTBtiChipgetBTI (const DTBtiId &btiid) const
 Returns the required BTI. Return 0 if it doesn't exist.
DTBtiChipgetBTI (int sl, int n) const
 Returns the required BTI. Return 0 if it doesn't exist.
LocalVector localDirection (const DTTrigData *) const
 NEWGEO Local direction in chamber of a trigger-data object.
LocalPoint localPosition (const DTTrigData *) const
 NEWGEO Local position in chamber of a trigger-data object.
virtual void reconstruct (const DTDigiCollection dtDigis)
void setConfig (const DTConfigManager *conf)
 Set configuration.
DTBtiTrigstoreTrigger (DTBtiTrigData)
 Returns a DTBtiTrig corresponding to a DTBtiTrigData.
 ~DTBtiCard ()
 Destructor.

Private Member Functions

DTBtiChipactiveGetBTI (const DTBtiId &btiid)
 Returns the required DTBtiChip. Create it if it doesn't exist.
DTBtiChipactiveGetBTI (int sl, int n)
 Returns the required DTBtiChip. Create it if it doesn't exist.
DTConfigBticonfig_bti (DTBtiId &btiid) const
 Return bti chip configuration.
void loadBTI (const DTDigiCollection dtDigis)
 store digi's in DTBtiChip's
void localClear ()
 clear the BTI maps
void runBTI ()
 run DTBtiChip algorithm

Private Attributes

BTIContainer _btimap [3]
ConfBtiMap _conf_bti_map
bool _debug
DTTTrigBaseSync_digi_sync
std::vector< DTDigi * > _digis
int _finedelay
int _MCdelay


Detailed Description

Contains active DTBtiChips.

Date
2008/09/05 15:55:03
Revision
1.10

Author:
C. Grandi, S. Vanini
Modifications: V/05 S.Vanini : modified to run with new geometry III/07 : SV configuration with DTConfigManager

Definition at line 61 of file DTBtiCard.h.


Constructor & Destructor Documentation

DTBtiCard::DTBtiCard ( DTTrigGeom geom,
DTTTrigBaseSync sync 
)

Constructor.

Definition at line 61 of file DTBtiCard.cc.

00061                                                             : 
00062   DTGeomSupplier(geom), _digi_sync(sync) {
00063 
00064         //_configBti = new DTConfigBti(bti_pset);
00065         //_configBti->print();
00066 
00067         //DTChamberId sid = ChamberId();
00068         //_conf_bti_map = conf_manager->getDTConfigBtiMap(sid); 
00069         //_debug = conf_manager->getDTTPGDebug();
00070 
00071         //_finedelay   = conf_manager->getDTConfigTrigUnit(sid)->MCSetupTime();
00072         //_MCdelay     = conf_manager->getDTConfigTrigUnit(sid)->MCDigiOffset();
00073 
00074 }

DTBtiCard::~DTBtiCard (  ) 

Destructor.

Definition at line 80 of file DTBtiCard.cc.

References localClear().

00080                      {
00081 
00082   localClear();
00083   //delete _conf_Bti;
00084   
00085 }


Member Function Documentation

DTBtiChip* DTBtiCard::activeGetBTI ( const DTBtiId btiid  )  [inline, private]

Returns the required DTBtiChip. Create it if it doesn't exist.

Definition at line 118 of file DTBtiCard.h.

References activeGetBTI(), DTBtiId::bti(), and DTBtiId::superlayer().

00118                                                   {
00119       return activeGetBTI(btiid.superlayer(),btiid.bti());
00120     }

DTBtiChip * DTBtiCard::activeGetBTI ( int  sl,
int  n 
) [private]

Returns the required DTBtiChip. Create it if it doesn't exist.

Definition at line 401 of file DTBtiCard.cc.

References _btimap, bti, config_bti(), GenMuonPlsPt100GeV_cfg::cout, DTConfigBti::debug(), debug(), DTCache< DTBtiTrigData > >::end(), lat::endl(), DTGeomSupplier::geom(), DTTrigGeom::nCell(), and DTTrigGeom::statId().

Referenced by activeGetBTI(), loadBTI(), and storeTrigger().

00401                                     {
00402 
00403   DTBtiChip* bti=0;
00404   //check if BTi is out of range before all
00405   if( n<1 || n>geom()->nCell(sl) ){
00406     if(debug()){
00407       std::cout << "DTBtiCard::activeGetBTI :";
00408       std::cout << " invalid bti number: " << n;
00409       std::cout << " not in range [1," << geom()->nCell(sl) << "]";
00410       std::cout << " dummy BTI returned!" << std::endl;
00411     }
00412     sl = 1;
00413     n = 999;
00414     return bti;
00415   }
00416 
00417   // get configuration for this chip Identifier
00418   DTChamberId sid = geom()->statId();
00419   DTBtiId _id = DTBtiId(sid, sl, n); 
00420 
00421   //debug this chip
00422   int _debug_bti = config_bti(_id)->debug();
00423 
00424   if(_debug_bti==3){
00425     std::cout << "DTBtiCard::activeGetBTI :";
00426     std::cout << " bti number: " << n << std::endl;
00427   }
00428 
00429   if( sl<1 || sl>3){
00430     if(_debug_bti>1){
00431       std::cout << "DTBtiCard::activeGetBTI :";
00432       std::cout << " invalid superlayer number: " << sl;
00433       std::cout << " dummy BTI returned!" << std::endl;
00434     }
00435     sl = 1;
00436     n = 999;
00437     return bti; 
00438   }
00439 
00440   BTI_iter pbti = _btimap[sl-1].find(n);
00441   if( pbti!=_btimap[sl-1].end() ) {
00442     bti = (*pbti).second;
00443   } else {
00444     bti = new DTBtiChip(geom(),sl,n, config_bti(_id));
00445     _btimap[sl-1][n]=bti;
00446   }
00447   return bti;
00448 }

std::vector< DTBtiChip * > DTBtiCard::btiList ( int  sl  ) 

Returns the active BTI list in a given superlayer.

Definition at line 466 of file DTBtiCard.cc.

References _btimap, DTCache< DTBtiTrigData > >::begin(), GenMuonPlsPt100GeV_cfg::cout, lat::endl(), p, and DTCache< DTBtiTrigData > >::size().

00466                          {
00467 
00468   std::vector<DTBtiChip*> blist;
00469 
00470   if(size()<1)return blist;
00471 
00472   if(sl<1||sl>3){
00473     std::cout << "DTBtiCard::btiList :";
00474     std::cout << " invalid superlayer number: " << sl;
00475     std::cout << " empty list returned" << std::endl;
00476     return blist;
00477   }
00478 
00479   for(BTI_const_iter p=_btimap[sl-1].begin();p!=_btimap[sl-1].end();p++){
00480     blist.push_back((*p).second);
00481   }
00482   return blist;
00483 
00484 }

void DTBtiCard::clearCache ( void   ) 

Clear all BTI stuff (map & cache).

Reimplemented from DTCache< DTBtiTrigData > >.

Definition at line 92 of file DTBtiCard.cc.

References DTCache< T, Coll >::clearCache(), and localClear().

Referenced by reconstruct(), and DTTrig::triggerReco().

00092                      {
00093 
00094   BTICache::clearCache();
00095   localClear();
00096   
00097 }

DTConfigBti * DTBtiCard::config_bti ( DTBtiId btiid  )  const [private]

Return bti chip configuration.

Definition at line 671 of file DTBtiCard.cc.

References _conf_bti_map, DTBtiId::bti(), GenMuonPlsPt100GeV_cfg::cout, lat::endl(), DTBtiId::sector(), DTBtiId::station(), DTBtiId::superlayer(), and DTBtiId::wheel().

Referenced by activeGetBTI(), localDirection(), and localPosition().

00672 {
00673   //loop on map to find bti
00674   ConfBtiMap::const_iterator biter = _conf_bti_map.find(btiid);
00675   if (biter == _conf_bti_map.end()){
00676     std::cout << "DTBtiCard::config_bti : BTI (" << btiid.wheel()
00677               << "," << btiid.sector()
00678               << "," << btiid.station()
00679               << "," << btiid.superlayer()
00680               << "," << btiid.bti()
00681               << ") not found, return 0" << std::endl;
00682     return 0;
00683   }
00684 
00685   return const_cast<DTConfigBti*>(&(*biter).second);
00686 
00687 }

bool DTBtiCard::debug (  )  const [inline]

Return TU debug flag.

Definition at line 79 of file DTBtiCard.h.

References _debug.

Referenced by activeGetBTI(), loadBTI(), localDirection(), localPosition(), and runBTI().

00079 {return _debug;}

DTBtiChip* DTBtiCard::getBTI ( const DTBtiId btiid  )  const [inline]

Returns the required BTI. Return 0 if it doesn't exist.

Definition at line 85 of file DTBtiCard.h.

References DTBtiId::bti(), getBTI(), and DTBtiId::superlayer().

00085                                                   {
00086       return getBTI(btiid.superlayer(),btiid.bti());
00087     }

DTBtiChip * DTBtiCard::getBTI ( int  sl,
int  n 
) const

Returns the required BTI. Return 0 if it doesn't exist.

Definition at line 451 of file DTBtiCard.cc.

References _btimap, GenMuonPlsPt100GeV_cfg::cout, DTCache< DTBtiTrigData > >::end(), and lat::endl().

Referenced by getBTI().

00451                                      {
00452   if(sl<1||sl>3||n==999){
00453     std::cout << "DTBtiCard::getBTI :";
00454     std::cout << " invalid superlayer number: " << sl;
00455     std::cout << " 0 returned!" << std::endl;
00456     return 0;
00457   }
00458   BTI_const_iter pbti = _btimap[sl-1].find(n);
00459   if( pbti==_btimap[sl-1].end() ){ 
00460     return 0;
00461   }
00462   return (*pbti).second;
00463 }

void DTBtiCard::loadBTI ( const DTDigiCollection  dtDigis  )  [private]

store digi's in DTBtiChip's

Definition at line 252 of file DTBtiCard.cc.

References _digi_sync, _digis, _finedelay, activeGetBTI(), DTBtiChip::add_digi(), GenMuonPlsPt100GeV_cfg::cout, debug(), lat::endl(), DTGeomSupplier::geom(), localClear(), DTTrigGeom::mapTubeInFEch(), DTTTrigBaseSync::offset(), DigiCosmics_cff::pdigi, range, DTGeomSupplier::sector(), DTGeomSupplier::station(), DTSuperLayerId::superlayer(), and DTGeomSupplier::wheel().

Referenced by reconstruct().

00252                                                  {
00253   
00254   localClear();
00255 
00256   if(debug()){
00257     std::cout << "DTBtiCard::loadBTI called for wheel=" << wheel() ;
00258     std::cout <<                                ", station=" << station();
00259     std::cout <<                                ", sector="  << sector() << std::endl;
00260   }
00261   
00262   DTDigiCollection::DigiRangeIterator detUnitIt;
00263   for (detUnitIt=dtDigis.begin();
00264        detUnitIt!=dtDigis.end();
00265        ++detUnitIt){
00266     
00267     const DTLayerId& id = (*detUnitIt).first;
00268     const DTDigiCollection::Range& range = (*detUnitIt).second;
00269     
00270     // DTLayerId print-out
00271     if(debug()){
00272       std::cout<<"--------------"<<std::endl;
00273       std::cout<<"id: "<<id;
00274     }
00275     
00276     // Loop over the digis of this DetUnit
00277     for (DTDigiCollection::const_iterator digiIt = range.first;
00278          digiIt!=range.second;
00279          ++digiIt){
00280 
00281       int tube = (*digiIt).wire();
00282       const DTWireId tubeid(id,tube);
00283       float tdrift = (*digiIt).time() - _digi_sync->offset(tubeid);
00284       if (debug()){
00285         std::cout << "digi time: " << (*digiIt).time();
00286         std::cout << " sync offset: " << _digi_sync->offset(tubeid) << std::endl;
00287       }
00288 
00289       if(tdrift<500 && tdrift>-500){
00290         if(debug()) 
00291                 (*digiIt).print();
00292 
00293         // get bti number for access to the configuration for this bti chip : SV
00294         // FIX: for the moment take first bti configuration!!!!! ok fixed
00295         DTSuperLayerId slnum = id.superlayerId();
00296         //DTChamberId dtcham =id.chamberId();
00297         int sln = slnum.superlayer();
00298         int layn = id.layer();
00299         //int tube = (*digiIt).wire();
00300 
00301         // map in FE channel number: SL theta tubes are numbered inversely w.r.t. hardware setup in new geometry 19/06/06
00302         // assign ch numbers to btis: in new geometry does not depend on layer staggering anymore! Same staggering anywhere.
00303         //int nch = geom()->mapTubeInFEch(sln,layn,tube);
00304         //      int nbti = nch + geom()->layerFEStaggering(sln,layn);
00305         
00306         int nch = geom()->mapTubeInFEch(sln,layn,tube);
00307         int nbti = nch ; 
00308 
00309         if(debug()){
00310           std::cout << "FE ch " << nch;
00311           std::cout << " of bti " << nbti;
00312 //        std::cout << " staggering " <<  geom()->layerFEStaggering(sln,layn);
00313           std::cout << " now nbti is " << nch <<  std::endl;
00314 //        std::cout << " SL phi offset " << geom()->phiSLOffset() << std::endl; 
00315         }
00316         
00317         // FIXED get configuration for the nbti chip Identifier, and from it MCdelay + finedelay
00318         //DTChamberId sid = geom()->statId();
00319         //DTBtiId _id = DTBtiId(sid, sln, nbti);
00320  
00321         tdrift = tdrift + _finedelay; 
00322 //      float tdrift = (*digiIt).time() - _MCdelay + _finedelay; 
00323 //      std::cout<<"tdrift "<< tdrift << " (*digiIt).wire() " << (*digiIt).wire() << std::endl;
00324 
00325         DTDigi* pdigi = new DTDigi((*digiIt).wire(),tdrift);
00326         _digis.push_back(const_cast<DTDigi*>(pdigi) );
00327         
00328         
00329         switch(layn) {
00330         case 1:
00331           if(activeGetBTI(sln, nbti  )) activeGetBTI(sln, nbti  )->add_digi(4, pdigi);
00332           if(activeGetBTI(sln, nbti-1)) activeGetBTI(sln, nbti-1)->add_digi(8, pdigi);
00333           break;
00334         case 2:
00335           if(activeGetBTI(sln, nbti  )) activeGetBTI(sln, nbti  )->add_digi(2, pdigi);
00336           if(activeGetBTI(sln, nbti-1)) activeGetBTI(sln, nbti-1)->add_digi(6, pdigi);
00337           break;
00338         case 3:
00339           if(activeGetBTI(sln, nbti  )) activeGetBTI(sln, nbti  )->add_digi(3, pdigi);
00340           if(activeGetBTI(sln, nbti-1)) activeGetBTI(sln, nbti-1)->add_digi(7, pdigi);
00341           break;
00342         case 4:
00343           if(activeGetBTI(sln, nbti  )) activeGetBTI(sln, nbti  )->add_digi(1, pdigi);
00344           if(activeGetBTI(sln, nbti-1)) activeGetBTI(sln, nbti-1)->add_digi(5, pdigi);
00345           if(activeGetBTI(sln, nbti-2)) activeGetBTI(sln, nbti-2)->add_digi(9, pdigi);
00346           break;
00347         }
00348       }//end loop on digi
00349       //    }//end loop on lay
00350       //  }//end loop on sl
00351     }
00352   }
00353 }

void DTBtiCard::localClear (  )  [private]

clear the BTI maps

Definition at line 111 of file DTBtiCard.cc.

References _btimap, _digis, DTCache< DTBtiTrigData > >::begin(), i, and p.

Referenced by clearCache(), loadBTI(), and ~DTBtiCard().

00111                      {
00112 // Clear the maps
00113   for(int i=0; i<3; i++){
00114     for(BTI_iter p=_btimap[i].begin();p!=_btimap[i].end();p++){
00115       delete (*p).second;
00116     }
00117     _btimap[i].clear();
00118   }
00119 
00120   //clear digis
00121   std::vector<DTDigi*>::const_iterator p;
00122   for(p=_digis.begin();p<_digis.end();p++)
00123     delete (*p);
00124   _digis.clear();
00125 }

LocalVector DTBtiCard::localDirection ( const DTTrigData tr  )  const [virtual]

NEWGEO Local direction in chamber of a trigger-data object.

Implements DTGeomSupplier.

Definition at line 595 of file DTBtiCard.cc.

References DTBtiTrigData::btiSL(), DTTrigGeom::cellH(), DTTrigGeom::cellPitch(), config_bti(), funct::cos(), GenMuonPlsPt100GeV_cfg::cout, debug(), lat::endl(), DTGeomSupplier::geom(), DTBtiTrigData::K(), DTTrigGeom::localPosition(), DTBtiTrigData::parentId(), DTBtiTrigData::print(), funct::sin(), DTConfigBti::ST(), x, y, and z.

00595                                                     {
00596 //NEWGEO
00597  DTBtiTrigData* trig = dynamic_cast<DTBtiTrigData*>(const_cast<DTTrigData*>(tr));
00598  //this method is only for check purpose
00599   if(!trig) {
00600     std::cout << "DTBtiCard::localDirection called with wrong argument!" << std::endl;
00601     return LocalVector(0,0,0);
00602   }
00603 
00604   //FE position
00605   //int FE = geom()->posFE(trig->parentId().superlayer());
00606 
00607   // psi in BTI frame
00608   DTBtiId _btiid = trig->parentId();
00609   float psi = atan((float)(trig->K() - config_bti(_btiid)->ST())*geom()->cellPitch()
00610                    /(2*geom()->cellH() * config_bti(_btiid)->ST()));
00611   // (xd,yd,zd) in chamber frame
00612   float xd=0;
00613   float yd=0;
00614   float zd=-cos(psi);
00615   if(trig->btiSL()==2) 
00616     yd = sin(psi);
00617   else
00618     xd = -sin(psi);
00619 
00620 // 17/07/06 Ths should be obsolete in CMSSW
00621 //   if(FE==1){//FE in negative y
00622 //       xd = - xd;
00623 //       yd = - yd;
00624 //  }
00625 
00626   if(debug()){
00627     //BTI position in chamber frame
00628     float xb = geom()->localPosition(trig->parentId()).x();
00629     float yb = geom()->localPosition(trig->parentId()).y();
00630     float zb = geom()->localPosition(trig->parentId()).z();
00631   
00632     std::cout << "DTBtiCard::localDirection of BTI in ("<<xb<<","<<yb<<","<<zb<<")"<<std::endl;
00633     std::cout << " called for trig "; 
00634     trig->print(); 
00635     std::cout << "in Local Direction ("<<xd<<","<<yd<<","<<zd<<")"<<std::endl;
00636   }
00637 
00638   return LocalVector(xd,yd,zd);
00639 }

LocalPoint DTBtiCard::localPosition ( const DTTrigData tr  )  const [virtual]

NEWGEO Local position in chamber of a trigger-data object.

Implements DTGeomSupplier.

Definition at line 548 of file DTBtiCard.cc.

References DTBtiTrigData::btiSL(), DTTrigGeom::cellPitch(), config_bti(), GenMuonPlsPt100GeV_cfg::cout, debug(), lat::endl(), DTGeomSupplier::geom(), DTTrigGeom::localPosition(), DTBtiTrigData::parentId(), DTTrigGeom::posFE(), DTBtiTrigData::print(), DTConfigBti::ST(), DTBtiId::superlayer(), DTBtiTrigData::X(), x, y, and z.

00548                                                    {
00549 //NEWGEO!!!
00550  DTBtiTrigData* trig = dynamic_cast<DTBtiTrigData*>(const_cast<DTTrigData*>(tr));
00551  if(!trig) {
00552     std::cout << "DTBtiCard::localPosition called with wrong argument!" << std::endl;
00553     return LocalPoint(0,0,0);
00554   }
00555 
00556   //BTI position in chamber frame
00557   float x = geom()->localPosition(trig->parentId()).x();
00558   float y = geom()->localPosition(trig->parentId()).y();
00559   float z = geom()->localPosition(trig->parentId()).z();
00560   
00561   //FE position
00562   int FE = geom()->posFE(trig->parentId().superlayer());
00563 
00564   //trigger position in the BTI frame
00565   float xt = 0;
00566   float yt = 0;
00567 
00568   DTBtiId _btiid = trig->parentId();
00569   float xtrig = (float)trig->X() * geom()->cellPitch() / (config_bti(_btiid)->ST());
00570   if(trig->btiSL()==2) 
00571     yt = - xtrig;
00572   else
00573     xt = + xtrig;
00574 
00575 //   17/07/06 Should be obsolete in CMSSW
00576 //   if(FE==1){//FE in negative y
00577 //       xt = - xt;
00578 //       yt = - yt;
00579 //   }
00580 
00581 
00582 
00583   if(debug()){
00584     std::cout << "DTBtiCard::localPosition of BTI in ("<<x<<","<<y<<","<<z<<")"<<std::endl;
00585     std::cout << " called for trig "; 
00586     trig->print(); 
00587     std::cout << "in Local Point ("<<x+xt<<","<<y+yt<<","<<z<<")"<<std::endl;
00588   }
00589 
00590   return LocalPoint(x+xt,y+yt,z);
00591 }

virtual void DTBtiCard::reconstruct ( const DTDigiCollection  dtDigis  )  [inline, virtual]

Definition at line 104 of file DTBtiCard.h.

References clearCache(), loadBTI(), and runBTI().

Referenced by DTTrig::triggerReco().

00104 { clearCache();loadBTI(dtDigis); runBTI(); }

void DTBtiCard::runBTI (  )  [private]

run DTBtiChip algorithm

Definition at line 356 of file DTBtiCard.cc.

References _btimap, DTCache< DTBtiTrigData > >::_cache, DTCache< DTBtiTrigData > >::begin(), bti, GenMuonPlsPt100GeV_cfg::cout, debug(), lat::endl(), DTConfig::NSTEPF, DTConfig::NSTEPL, DTBtiChip::nTrig(), DTBtiChip::number(), DTBtiChip::run(), DTGeomSupplier::sector(), DTCache< DTBtiTrigData > >::size(), sl, DTGeomSupplier::station(), cmsRelvalreportInput::step, DTBtiChip::triggerData(), and DTGeomSupplier::wheel().

Referenced by reconstruct().

00356                   {
00357 
00358   int nbtisig = _btimap[0].size()+_btimap[1].size()+_btimap[2].size();
00359 
00360   if(debug()){
00361     std::cout << "DTBtiCard::runBTI called for wheel=" << wheel() ;
00362     std::cout <<                               ", station=" << station();
00363     std::cout <<                               ", sector="  << sector();
00364     std::cout << ", " << nbtisig
00365          << " BTIs with signal" << std::endl;
00366   }
00367 
00368   if( nbtisig){
00369 
00370     if(debug()){
00371       std::cout << "====================================================" << std::endl;
00372       std::cout << "              BTI triggers                          " << std::endl; 
00373     }
00374 
00375 
00376     // run DTBtiChip algorithm on all non-empty BTI
00377     for(int sl=1;sl<=3;sl++){
00378       if(_btimap[sl-1].size()>0){
00379         BTI_iter pbti;
00380         for(pbti=_btimap[sl-1].begin(); pbti!=_btimap[sl-1].end(); pbti++) {
00381             DTBtiChip* bti = (*pbti).second; 
00382           if(bti->number()<200)
00383             bti->run();
00384           for(int step=DTConfig::NSTEPF; step<=DTConfig::NSTEPL; step++){
00385             if(bti->nTrig(step)>0) {
00386               _cache.push_back( bti->triggerData(step,1) );
00387               //localPosition(&(bti->triggerData(step,1))); 
00388               //localDirection(&(bti->triggerData(step,1))); 
00389              }
00390             }
00391         }
00392       }
00393     }
00394 
00395     if(debug())
00396       std::cout << "====================================================" << std::endl;
00397   }//end if(nbtisig)
00398 }

void DTBtiCard::setConfig ( const DTConfigManager conf  ) 

Set configuration.

Definition at line 100 of file DTBtiCard.cc.

References _conf_bti_map, _debug, _finedelay, DTGeomSupplier::ChamberId(), DTConfigManager::getDTConfigBtiMap(), DTConfigManager::getDTConfigTrigUnit(), DTConfigManager::getDTTPGDebug(), and DTConfigTrigUnit::MCSetupTime().

Referenced by DTSCTrigUnit::setConfig().

00100                                                {
00101   
00102         DTChamberId sid = ChamberId();
00103         _conf_bti_map = conf->getDTConfigBtiMap(sid);   
00104         _debug = conf->getDTTPGDebug();
00105         _finedelay   = conf->getDTConfigTrigUnit(sid)->MCSetupTime();
00106 
00107 }

DTBtiTrig * DTBtiCard::storeTrigger ( DTBtiTrigData  td  ) 

Returns a DTBtiTrig corresponding to a DTBtiTrigData.

Creates the corresponding BTI chip if needed and stores the trigger

Definition at line 487 of file DTBtiCard.cc.

References activeGetBTI(), DTBtiChip::addTrig(), DTBtiId::bti(), bti, GenMuonPlsPt100GeV_cfg::cout, DTBtiTrigData::parentId(), DTGeomSupplier::sector(), DTBtiId::sector(), DTGeomSupplier::station(), DTBtiId::station(), DTBtiTrigData::step(), DTBtiId::superlayer(), DTBtiId::wheel(), and DTGeomSupplier::wheel().

00487                                         {
00488   DTBtiId btiid = td.parentId();
00489   if(!(btiid.wheel()==wheel() &&
00490        btiid.sector()==sector() &&
00491        btiid.station()==station()) ) return 0;
00492   std::cout << "DTBtiCard::trigger: trigger not belonging to this card! ";
00493   std::cout << "card=(" << wheel() << "," << station() << "," << sector() << ") ";
00494   std::cout << "trig=(" << btiid.wheel() << "," << btiid.station() << "," 
00495        << btiid.sector() << ")";
00496   // get the appropriate BTI
00497   DTBtiChip* bti = activeGetBTI(btiid.superlayer(), btiid.bti());
00498   // create a new trigger in the BTI
00499   DTBtiTrig* trig = new DTBtiTrig(bti,td);
00500   // add the trigger to the BTI
00501   bti->addTrig(td.step(),trig);
00502   // return the trigger
00503   return trig;
00504 }


Member Data Documentation

BTIContainer DTBtiCard::_btimap[3] [private]

Definition at line 131 of file DTBtiCard.h.

Referenced by activeGetBTI(), btiList(), getBTI(), localClear(), and runBTI().

ConfBtiMap DTBtiCard::_conf_bti_map [private]

Definition at line 132 of file DTBtiCard.h.

Referenced by config_bti(), and setConfig().

bool DTBtiCard::_debug [private]

Definition at line 136 of file DTBtiCard.h.

Referenced by debug(), and setConfig().

DTTTrigBaseSync* DTBtiCard::_digi_sync [private]

Definition at line 137 of file DTBtiCard.h.

Referenced by loadBTI().

std::vector<DTDigi*> DTBtiCard::_digis [private]

Definition at line 134 of file DTBtiCard.h.

Referenced by loadBTI(), and localClear().

int DTBtiCard::_finedelay [private]

Definition at line 138 of file DTBtiCard.h.

Referenced by loadBTI(), and setConfig().

int DTBtiCard::_MCdelay [private]

Definition at line 139 of file DTBtiCard.h.


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:18:40 2009 for CMSSW by  doxygen 1.5.4