Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

CDUnidentifiedHits Class Reference

#include <CDUnidentifiedHits.h>

List of all members.

Public Member Functions

 CDUnidentifiedHits (std::map< int, CandStripHandle >, std::map< int, CandStripHandle >, std::map< int, CandStripHandle >, std::map< int, CandStripHandle >, std::map< int, CandStripHandle >)
int SetMap (std::map< int, CandStripHandle >, int)
void GetUnidentifiedStripInfo (TClonesArray *)

Protected Attributes

std::map< int, CandStripHandlefAllStrips
std::map< int, CandStripHandlefEvenPlStrips
std::map< int, CandStripHandlefOddPlStrips
std::map< int, CandStripHandlefCCStrips
std::map< int, CandStripHandlefXTalkStrips


Constructor & Destructor Documentation

CDUnidentifiedHits::CDUnidentifiedHits std::map< int, CandStripHandle ,
std::map< int, CandStripHandle ,
std::map< int, CandStripHandle ,
std::map< int, CandStripHandle ,
std::map< int, CandStripHandle
 

Definition at line 32 of file CDUnidentifiedHits.cxx.

00037 {
00038   this->SetMap(allStrips,0);
00039   this->SetMap(evenPlStrips,1);
00040   this->SetMap(oddPlStrips,2);
00041   this->SetMap(CCStrips,3);
00042   this->SetMap(xTalkStrips,4);
00043 }


Member Function Documentation

void CDUnidentifiedHits::GetUnidentifiedStripInfo TClonesArray *   ) 
 

Definition at line 113 of file CDUnidentifiedHits.cxx.

References CandStripHandle::GetCharge(), Calibrator::GetMIP(), CandStripHandle::GetNDigit(), CandStripHandle::GetPlane(), CandStripHandle::GetStrip(), CandStripHandle::GetTime(), Calibrator::Instance(), and CalScheme::Reset().

00114 {
00115   map<int,CandStripHandle>::iterator stpIt = fAllStrips.begin();
00116   map<int,CandStripHandle>::iterator stpEnd = fAllStrips.end();
00117   
00118   //get a reference to the calibrator
00119   Calibrator& calibrator=Calibrator::Instance();
00120 
00121   if(stpIt!=stpEnd) {
00122     const VldContext *vc = stpIt->second.GetVldContext();
00123     calibrator.Reset(*vc);
00124   }
00125   
00126   int cnt = 0;
00127   
00128   TClonesArray &unident = *infoarray;
00129   while(stpIt!=stpEnd){
00130     
00131     if(fEvenPlStrips.find(stpIt->first)==fEvenPlStrips.end() &&
00132        fOddPlStrips.find(stpIt->first)==fOddPlStrips.end() &&
00133        fXTalkStrips.find(stpIt->first)==fXTalkStrips.end() &&
00134        fCCStrips.find(stpIt->first)==fCCStrips.end()){
00135       
00136       CandStripHandle csh = stpIt->second;
00137       
00138       if(csh.GetNDigit(StripEnd::kNegative)>0){
00139         new(unident[cnt]) 
00140           CDTrackedHitInfo
00141           (StripEnd::kNegative,csh.GetPlane(),csh.GetStrip(),
00142            csh.GetCharge(CalDigitType::kNone,StripEnd::kNegative),
00143            csh.GetCharge(CalDigitType::kSigLin,StripEnd::kNegative),
00144            csh.GetCharge(CalDigitType::kSigCorr,StripEnd::kNegative),
00145            csh.GetCharge(CalDigitType::kPE,StripEnd::kNegative),
00146            calibrator.GetMIP(csh.GetCharge(CalDigitType::kSigCorr,
00147                                            StripEnd::kNegative)),
00148            0.,0.,0.,0.,0.,0.,csh.GetTime(StripEnd::kNegative));
00149         cnt++;
00150       }
00151       
00152       if(csh.GetNDigit(StripEnd::kPositive)>0){
00153         new(unident[cnt]) 
00154           CDTrackedHitInfo
00155           (StripEnd::kPositive,csh.GetPlane(),csh.GetStrip(),
00156            csh.GetCharge(CalDigitType::kNone,StripEnd::kPositive),
00157            csh.GetCharge(CalDigitType::kSigLin,StripEnd::kPositive),
00158            csh.GetCharge(CalDigitType::kSigCorr,StripEnd::kPositive),
00159            csh.GetCharge(CalDigitType::kPE,StripEnd::kPositive),
00160            calibrator.GetMIP(csh.GetCharge(CalDigitType::kSigCorr,
00161                                            StripEnd::kPositive)),
00162            0.,0.,0.,0.,0.,0.,csh.GetTime(StripEnd::kPositive));
00163         cnt++;
00164       }
00165       
00166     }
00167     stpIt++;
00168   }
00169   unident.Compress();
00170 
00171 }

int CDUnidentifiedHits::SetMap std::map< int, CandStripHandle ,
int 
 

Definition at line 47 of file CDUnidentifiedHits.cxx.

References fAllStrips, fCCStrips, fEvenPlStrips, fOddPlStrips, fXTalkStrips, and MSG.

00048 {
00049   
00050   if(a==0) {
00051     map<int,CandStripHandle>::iterator digi_it = hits.begin();
00052     map<int,CandStripHandle>::iterator end_digi_it = hits.end();
00053     while(digi_it!=end_digi_it) {
00054       fAllStrips[digi_it->first] = digi_it->second;
00055       digi_it++;
00056     }
00057     return 1;
00058   }
00059 
00060   else if(a==1) {
00061     map<int,CandStripHandle>::iterator even_it = hits.begin();
00062     map<int,CandStripHandle>::iterator end_even_it = hits.end();
00063     while(even_it!=end_even_it) {
00064       fEvenPlStrips[even_it->first] = even_it->second;
00065       even_it++;
00066     }
00067     return 1;
00068   }
00069 
00070   else if(a==2) {
00071     map<int,CandStripHandle>::iterator odd_it = hits.begin();
00072     map<int,CandStripHandle>::iterator end_odd_it = hits.end();
00073     while(odd_it!=end_odd_it) {
00074       fOddPlStrips[odd_it->first] = odd_it->second;
00075       odd_it++;
00076     }
00077     return 1;
00078   }
00079 
00080   else if(a==3) {
00081     map<int,CandStripHandle>::iterator cc_it = hits.begin();
00082     map<int,CandStripHandle>::iterator end_cc_it = hits.end();
00083     while(cc_it!=end_cc_it) {
00084       fCCStrips[cc_it->first] = cc_it->second;
00085       cc_it++;
00086     }
00087     return 1;
00088   }
00089 
00090   else if(a==4) {
00091     map<int,CandStripHandle>::iterator xtalk_it = hits.begin();
00092     map<int,CandStripHandle>::iterator end_xtalk_it = hits.end();
00093     while(xtalk_it!=end_xtalk_it) {
00094       fXTalkStrips[xtalk_it->first] = xtalk_it->second;
00095       xtalk_it++;
00096     }
00097     return 1;
00098   }
00099   
00100   else 
00101     MSG("CDUnidentifiedHits",Msg::kWarning)
00102     << "CDUnidentifiedHits Error: " 
00103                  << "Not a valid map input number " 
00104                  << "0==all, 1==even planes, 2==odd planes, " 
00105                  << "3==cosmic counters, 4==X talk." << endl;
00106 
00107   return 0;
00108 }


Member Data Documentation

std::map<int,CandStripHandle> CDUnidentifiedHits::fAllStrips [protected]
 

Definition at line 35 of file CDUnidentifiedHits.h.

Referenced by SetMap().

std::map<int,CandStripHandle> CDUnidentifiedHits::fCCStrips [protected]
 

Definition at line 38 of file CDUnidentifiedHits.h.

Referenced by SetMap().

std::map<int,CandStripHandle> CDUnidentifiedHits::fEvenPlStrips [protected]
 

Definition at line 36 of file CDUnidentifiedHits.h.

Referenced by SetMap().

std::map<int,CandStripHandle> CDUnidentifiedHits::fOddPlStrips [protected]
 

Definition at line 37 of file CDUnidentifiedHits.h.

Referenced by SetMap().

std::map<int,CandStripHandle> CDUnidentifiedHits::fXTalkStrips [protected]
 

Definition at line 39 of file CDUnidentifiedHits.h.

Referenced by SetMap().


The documentation for this class was generated from the following files:
Generated on Mon Feb 15 11:08:59 2010 for loon by  doxygen 1.3.9.1