Main Page | Namespace List | Class Hierarchy | Compound List | File List | Compound Members | File Members | Related Pages

McTkrHitValsTool Class Reference

calculates Monte Carlo values More...

Inheritance diagram for McTkrHitValsTool:

Inheritance graph
[legend]
Collaboration diagram for McTkrHitValsTool:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 McTkrHitValsTool (const std::string &type, const std::string &name, const IInterface *parent)
virtual ~McTkrHitValsTool ()
StatusCode initialize ()
StatusCode calculate ()
 calculate all values; implemented by each XxxValsTool


Private Member Functions

int GetTrackHits (const Event::McParticle *paricle)
void CntTotalHits (const Event::McParticle *primary)
int GetSharedHits (const Event::McParticle *daught1, const Event::McParticle *daught2)
void CntMcPosHits (const Event::McParticle *primary)

Private Attributes

int m_primType
int m_primNumHits
int m_dght1Type
int m_dght1NumHits
int m_dght2Type
int m_dght2NumHits
int m_posHitPrimary
int m_posHitGammas
int m_posHitElectrons
int m_posHitPositrons
int m_posHitOthers
int m_process
int m_totalHits
int m_totalPrimHits
int m_totalPrimClusHits
int m_dghtSharedHits
IParticlePropertySvc * m_ppsvc
Event::McPartToTrajectoryTab * m_partToTrajTab
Event::McPointToPosHitTab * m_pointToPosHitTab
Event::ClusMcPosHitTab * m_clusToPosHitTab

Detailed Description

calculates Monte Carlo values

Authors:
Bill Atwood, Leon Rochester

Definition at line 42 of file McTkrHitValsTool.cxx.


Constructor & Destructor Documentation

McTkrHitValsTool::McTkrHitValsTool const std::string &  type,
const std::string &  name,
const IInterface *  parent
 

Definition at line 105 of file McTkrHitValsTool.cxx.

00108                                : ValBase( type, name, parent ),
00109                                  m_partToTrajTab(0),
00110                                  m_pointToPosHitTab(0),
00111                                  m_clusToPosHitTab(0)
00112 {    
00113     // Declare additional interface
00114     declareInterface<IValsTool>(this); 
00115 }

virtual McTkrHitValsTool::~McTkrHitValsTool  )  [inline, virtual]
 

Definition at line 50 of file McTkrHitValsTool.cxx.

00050 { }


Member Function Documentation

StatusCode McTkrHitValsTool::calculate  )  [virtual]
 

calculate all values; implemented by each XxxValsTool

Reimplemented from ValBase.

Definition at line 179 of file McTkrHitValsTool.cxx.

References CntMcPosHits(), CntTotalHits(), GetSharedHits(), GetTrackHits(), m_clusToPosHitTab, m_dght1NumHits, m_dght1Type, m_dght2NumHits, m_dght2Type, m_dghtSharedHits, m_partToTrajTab, ValBase::m_pEventSvc, m_pointToPosHitTab, m_primNumHits, and m_primType.

00180 {
00181     StatusCode sc = StatusCode::SUCCESS;
00182     MsgStream  log( msgSvc(), name() );
00183 
00184     // Grab the event header to get the event time for printing a message in debug mode
00185     SmartDataPtr<Event::EventHeader>   header(m_pEventSvc,    EventModel::EventHeader);
00186     double t = header->time();
00187     log << MSG::DEBUG << "Event time: " << t << endreq;;
00188 
00189     // First task is to recover the McParticle Collection and categorize the event
00190     SmartDataPtr<Event::McParticleCol> particleCol(m_pEventSvc, EventModel::MC::McParticleCol);
00191 
00192     // No collection then we do not have MC! 
00193     if (particleCol == 0) return sc;
00194 
00195     // Recover Relational tables that we will need...
00196     SmartDataPtr<Event::McPartToTrajectoryTabList> 
00197         mcPartToTraj(m_pEventSvc, "/Event/MC/McPartToTrajectory");
00198     m_partToTrajTab = new Event::McPartToTrajectoryTab(mcPartToTraj);
00199 
00200     // Recover the McPositionHits to trajectory points relational tables
00201     SmartDataPtr<Event::McPointToPosHitTabList> 
00202         mcPointToPosHitList(m_pEventSvc, "/Event/MC/McPointToPosHit");
00203     m_pointToPosHitTab = new Event::McPointToPosHitTab(mcPointToPosHitList);
00204 
00205     // Recover the McIntegratingHits to trajectory points relational tables
00206     //SmartDataPtr<Event::McPointToIntHitTabList> 
00207     //    mcPointToIntHitList(m_pEventSvc, "/Event/MC/McPointToIntHit");
00208     //m_pointToIntHitTab = new Event::McPointToIntHitTab(mcPointToIntHitList);
00209 
00210     // Retrieve the table giving us TkrDigi to McPositionHit relations
00211     SmartDataPtr<Event::ClusMcPosHitTabList> 
00212         clusMcPosHitList(m_pEventSvc, EventModel::Digi::TkrClusterHitTab);
00213 
00214     // It can happen that there are no clusters...
00215     if (clusMcPosHitList != 0) m_clusToPosHitTab = new Event::ClusMcPosHitTab(clusMcPosHitList);
00216 
00217     // Our first task is to identify the primary in the event
00218     Event::McParticle* primary    = 0;
00219     std::string        primString = "primary";
00220 
00221     Event::McParticleCol::iterator mcPartIter = particleCol->begin();
00222 
00223     for(; mcPartIter != particleCol->end(); mcPartIter++)
00224     {
00225         Event::McParticle* mcPart = *mcPartIter;
00226 
00227         // Is it the primary?
00228         if (mcPart->getProcess() == primString) 
00229         {
00230             primary = mcPart;
00231             break;
00232         }
00233     }
00234 
00235     // Everything follows if we have found a primary
00236     if (primary)
00237     {
00238         // We now count the total number of hits in the Tracker and the number
00239         // due to the primary and its products
00240         CntTotalHits(primary);
00241 
00242         // Count the number of McPositionHits due to primary, electrons and positrons
00243         CntMcPosHits(primary);
00244 
00245         // Next up is to get the number of hits for each of McParticles in the list
00246         // Set up the map to hold the results
00247         std::map<const Event::McParticle*,int> mcPartHitMap;
00248         mcPartHitMap.clear();
00249 
00250         // Reset the McParticle iterator
00251         mcPartIter = particleCol->begin();
00252 
00253         for(++mcPartIter; mcPartIter != particleCol->end(); mcPartIter++)
00254         {
00255             Event::McParticle* mcPart = *mcPartIter;
00256 
00257             // Get the number of hits from this track 
00258             int numHits = GetTrackHits(mcPart);
00259 
00260             mcPartHitMap[mcPart] = numHits;
00261         }
00262 
00263         // Recover the primary's particle identification and number of hits
00264         m_primType    = primary->particleProperty();
00265         m_primNumHits = mcPartHitMap[primary];
00266 
00267         // Get some of the primary's characteristics
00268 //        ParticleProperty* ppty     = m_ppsvc->findByStdHepID(m_primType);
00269 //        std::string       partName = ppty->particle(); 
00270 
00271         // We will need pointers to the "two" daughters to determine shared hits
00272         const Event::McParticle* daughter1 = 0;
00273         const Event::McParticle* daughter2 = 0;
00274 
00275         // Loop through the daughters keeping track of the number of hits
00276         const SmartRefVector<Event::McParticle>& daughterList = primary->daughterList();
00277 
00278         for(SmartRefVector<Event::McParticle>::const_iterator daughterIter = daughterList.begin();
00279             daughterIter != daughterList.end(); daughterIter++)
00280         {
00281             const Event::McParticle* daughter = *daughterIter;
00282 
00283             int numHits = mcPartHitMap[daughter];
00284 
00285             // Check to see if this exceeds the current daughter1 count
00286             if (numHits > m_dght1NumHits || m_dght1Type == 0)
00287             {
00288                 // Check to see if we need to switch down to second daughter
00289                 if (m_dght1NumHits > m_dght2NumHits || m_dght2Type == 0)
00290                 {
00291                     m_dght2NumHits = m_dght1NumHits;
00292                     m_dght2Type    = m_dght2Type;
00293                     daughter2      = daughter1;
00294                 }
00295 
00296                 m_dght1NumHits = numHits;
00297                 m_dght1Type    = daughter->particleProperty();
00298                 daughter1      = daughter;
00299             }
00300             // Otherwise, check to see if this is the hit count for the next particle
00301             else if (numHits > m_dght2NumHits || m_dght2Type == 0)
00302             {
00303                 m_dght2NumHits = numHits;
00304                 m_dght2Type    = daughter->particleProperty();
00305                 daughter2      = daughter;
00306             }
00307         }
00308 
00309         // Finally... get the number of hits these two daughters share
00310         m_dghtSharedHits = GetSharedHits(daughter1, daughter2);
00311     }
00312 
00313     // Clean up after ourselves
00314     if (m_partToTrajTab)    {delete m_partToTrajTab;    m_partToTrajTab    = 0;}
00315     if (m_pointToPosHitTab) {delete m_pointToPosHitTab; m_pointToPosHitTab = 0;}
00316     //if (m_pointToIntHitTab) {delete m_pointToIntHitTab; m_pointToIntHitTab = 0;}
00317     if (m_clusToPosHitTab)  {delete m_clusToPosHitTab;  m_clusToPosHitTab  = 0;}
00318     
00319     log << MSG::DEBUG << " returning. " << endreq;
00320 
00321     return sc;
00322 }

void McTkrHitValsTool::CntMcPosHits const Event::McParticle *  primary  )  [private]
 

Definition at line 544 of file McTkrHitValsTool.cxx.

References ValBase::m_pEventSvc, m_posHitElectrons, m_posHitGammas, m_posHitOthers, m_posHitPositrons, and m_posHitPrimary.

Referenced by calculate().

00545 {
00546     // Define codes for electrons and positrons
00547     static Event::McParticle::StdHepId gamma    =  22;
00548     static Event::McParticle::StdHepId electron =  11;
00549     static Event::McParticle::StdHepId positron = -11;
00550 
00551     // Clear counters
00552     m_posHitPrimary   = 0;
00553     m_posHitGammas    = 0;
00554     m_posHitElectrons = 0;
00555     m_posHitPositrons = 0;
00556     m_posHitOthers    = 0;
00557 
00558     // First task is to recover the McParticle Collection and categorize the event
00559     SmartDataPtr<Event::McPositionHitCol> positionHitCol(m_pEventSvc, EventModel::MC::McPositionHitCol);
00560 
00561     // If collection then proceed
00562     if (positionHitCol)
00563     {
00564         // Loop over the collection of McPositionHits
00565         for(Event::McPositionHitCol::iterator posHitIter = positionHitCol->begin();
00566             posHitIter != positionHitCol->end(); posHitIter++)
00567         {
00568             Event::McPositionHit* posHit = *posHitIter;
00569 
00570             // Check the volume identifier to cut on tracker hits
00571             idents::VolumeIdentifier volId = posHit->volumeID();
00572 
00573             // Do not count ACD hits
00574             if (volId[0] != 0) continue;
00575 
00576             // Get parent information
00577             const Event::McParticle* particle = posHit->mcParticle();
00578             const Event::McParticle* mother   = 0;
00579             
00580             if (particle) mother = particle->getMother();
00581 
00582             // Check to see if hit is associated to primary or immediate daughters
00583             if      (particle                  == primary)  m_posHitPrimary++;
00584             else if (mother                    == primary)  m_posHitPrimary++;
00585 
00586             // What kind of particle made the hit?
00587             if      (posHit->getMcParticleId() == gamma)    m_posHitGammas++;
00588             else if (posHit->getMcParticleId() == electron) m_posHitElectrons++;
00589             else if (posHit->getMcParticleId() == positron) m_posHitPositrons++;
00590             else                                            m_posHitOthers++;
00591         }
00592     }
00593 
00594 
00595     return;
00596 }

void McTkrHitValsTool::CntTotalHits const Event::McParticle *  primary  )  [private]
 

Definition at line 325 of file McTkrHitValsTool.cxx.

References m_clusToPosHitTab, ValBase::m_pEventSvc, m_totalHits, m_totalPrimClusHits, and m_totalPrimHits.

Referenced by calculate().

00326 {
00327     m_totalHits     = 0;
00328     m_totalPrimHits = 0;
00329 
00330     // If there is no cluster table then there are no hits (by definition)
00331     if (m_clusToPosHitTab)
00332     {
00333         // Retrieve pointer to McPositionHit Collection in the TDS
00334         SmartDataPtr<Event::McPositionHitCol> posHitCol(m_pEventSvc, EventModel::MC::McPositionHitCol);
00335 
00336         // Define the results containers
00337         std::map<int, std::set<Event::TkrCluster*> > idToHitMap;    // For each track, number of actual hits made
00338         std::set<int>                                primTrkIdSet;  // For primary, number of tracks resulting
00339         std::set<Event::TkrCluster*>                 primClusSet;   // Number of clusters by tracks from primary
00340 
00341         idToHitMap.clear();
00342         primTrkIdSet.clear();
00343         primClusSet.clear();
00344 
00345         // Loop through the McPositionHit collection
00346         for (Event::McPositionHitCol::iterator posHitIter = posHitCol->begin(); posHitIter != posHitCol->end(); posHitIter++)
00347         {
00348             Event::McPositionHit* posHit = *posHitIter;
00349 
00350             // Is this hit related to a Cluster (ie did this make a hit in the Tracker?)
00351             Event::ClusMcPosHitVec clusHitVec = m_clusToPosHitTab->getRelBySecond(posHit);
00352 
00353             // Do we have anything? (note that this will eliminate McPositionHits from the ACD)
00354            
00355             if (!clusHitVec.empty())
00356             {
00357                 // An McPositionHit belongs to one cluster (but a cluster can be made up of
00358                 // several McPositionHits...)
00359                 Event::TkrCluster* cluster = (*(clusHitVec.begin()))->getFirst();
00360 
00361                 // Check our current map for this hit, start by getting the track id for this hit
00362                 int trackId = posHit->getPackedFlags(); // Track ID is hiding in here...
00363 
00364                 idToHitMap[trackId].insert(cluster);
00365 
00366                 // Does this particle descend from the primary?
00367                 //if (posHit->originMcParticle() == primary) // ok, this turns out to not be valid for gammas... 
00368                 if (posHit->originMcParticle() != 0)         // temporary kludge...
00369                 {
00370                     primClusSet.insert(cluster);
00371                     primTrkIdSet.insert(trackId);
00372                 }
00373             }
00374         }
00375 
00376         // Now pass through our map to count total number of hits from each track 
00377         for (std::map<int,std::set<Event::TkrCluster*> >::iterator idToHitIter = idToHitMap.begin(); 
00378              idToHitIter != idToHitMap.end(); idToHitIter++)
00379         {
00380             m_totalHits += idToHitIter->second.size();
00381         }
00382 
00383         // Go through and count total number of hits from the primary and its descendants
00384         for (std::set<int>::iterator trkIdIter = primTrkIdSet.begin(); trkIdIter != primTrkIdSet.end(); trkIdIter++)
00385         {
00386             m_totalPrimHits += idToHitMap[*trkIdIter].size();
00387         }
00388 
00389         // And now the total number of clusters from the primary and its descendants
00390         m_totalPrimClusHits = primClusSet.size();
00391     }
00392 
00393     return;
00394 }

int McTkrHitValsTool::GetSharedHits const Event::McParticle *  daught1,
const Event::McParticle *  daught2
[private]
 

Definition at line 456 of file McTkrHitValsTool.cxx.

References m_clusToPosHitTab, m_partToTrajTab, and m_pointToPosHitTab.

Referenced by calculate().

00457 {
00458     int numShared = 0;
00459 
00460     // Plan? 
00461     // loop through hits on daughter1 track and get clusters. 
00462     //      use table to get mcposhits from cluster
00463     //      loop through mcposhits and look for match to daughter2
00464 
00465     // If there is no cluster table then there are no hits, also protect that both daughters exist
00466     if (m_clusToPosHitTab && daughter1 && daughter2)
00467     {
00468         // Look up trajectory for this particle 
00469         // (use the second daughter because it is shorter)
00470         Event::McPartToTrajectoryVec trajVec = m_partToTrajTab->getRelByFirst(daughter2);
00471         Event::McTrajectory* mcTraj          = (*(trajVec.begin()))->getSecond();
00472 
00473         // Set up to loop through Trajectory points
00474         std::vector<Event::McTrajectoryPoint*> points = mcTraj->getPoints();
00475         std::vector<Event::McTrajectoryPoint*>::const_iterator pointIter;
00476 
00477         // We need a list of clusters resulting from the daughter track, we will then try to relate
00478         // those clusters to those used by the other daughter track 
00479         std::set<Event::TkrCluster*> trackClusters;
00480         trackClusters.clear();
00481 
00482         // Loop through all the McTrajectoryPoints on this track and store away the clusters
00483         for(pointIter = points.begin(); pointIter != points.end(); pointIter++) 
00484         {
00485             // De-reference the McTrajectoryPoint pointer
00486             Event::McTrajectoryPoint* mcPoint = *pointIter;
00487 
00488             // Look for McTrajectoryPoint <--> McPositionHit
00489             Event::McPointToPosHitVec posRelVec = m_pointToPosHitTab->getRelByFirst(mcPoint);
00490 
00491             // Did this trajectory point leave a mark?
00492             if (!posRelVec.empty())
00493             {
00494                 // Can only be one McPositionHit per McTrajectoryPoint... by definition
00495                 Event::McPointToPosHitRel* hitRel = *(posRelVec.begin());
00496 
00497                 Event::McPositionHit* mcPosHit = hitRel->getSecond();
00498 
00499                 // Get any TkrClusters associated to this McPositionHit (note: this eliminates ACD)
00500                 Event::ClusMcPosHitVec clusHitVec = m_clusToPosHitTab->getRelBySecond(mcPosHit);
00501 
00502                 // Do we have anything?
00503                 if (!clusHitVec.empty())
00504                 {
00505                     // An McPositionHit belongs to one cluster (but a cluster can be made up of
00506                     // several McPositionHits...)
00507                     Event::TkrCluster* cluster = (*(clusHitVec.begin()))->getFirst();
00508 
00509                     // "cluster" will be unique at the end 
00510                     trackClusters.insert(cluster);
00511                 }
00512             }
00513         }
00514 
00515         // Go through the set of clusters to look up any relation they might have to the other track
00516         for (std::set<Event::TkrCluster*>::iterator clusIter = trackClusters.begin(); clusIter != trackClusters.end(); clusIter++)
00517         {
00518             Event::TkrCluster* cluster = *clusIter;
00519 
00520             // Look up all McPositionHits associated with this cluster
00521             Event::ClusMcPosHitVec clusHitVec = m_clusToPosHitTab->getRelByFirst(cluster);
00522 
00523             // Proceed if it might be shared
00524             if (clusHitVec.size() > 1)
00525             {
00526                 for(Event::ClusMcPosHitVec::iterator relHitIter = clusHitVec.begin(); relHitIter != clusHitVec.end(); relHitIter++)
00527                 {
00528                     Event::McPositionHit* relPosHit = (*relHitIter)->getSecond();
00529 
00530                     // Check that a valid pointer exists and see if it matches the first daughter
00531                     if (relPosHit && relPosHit->mcParticle() == daughter1)
00532                     {
00533                         numShared++;
00534                         break;
00535                     }
00536                 }
00537             }
00538         }
00539     }
00540 
00541     return numShared;
00542 }

int McTkrHitValsTool::GetTrackHits const Event::McParticle *  paricle  )  [private]
 

Definition at line 396 of file McTkrHitValsTool.cxx.

References m_clusToPosHitTab, m_partToTrajTab, and m_pointToPosHitTab.

Referenced by calculate().

00397 {
00398     int nTrackHits = 0;
00399 
00400     // If there is no cluster table then there are no hits
00401     if (m_clusToPosHitTab)
00402     {
00403         // Look up trajectory for this particle
00404         Event::McPartToTrajectoryVec trajVec = m_partToTrajTab->getRelByFirst(particle);
00405         Event::McTrajectory* mcTraj          = (*(trajVec.begin()))->getSecond();
00406 
00407         // Set up to loop through Trajectory points
00408         std::vector<Event::McTrajectoryPoint*> points = mcTraj->getPoints();
00409         std::vector<Event::McTrajectoryPoint*>::const_iterator pointIter;
00410 
00411         // Use a set to keep track of unique clusters (since a cluster may be associated
00412         // to several McPositionHits). We'll use this to count Tracker hits
00413         std::set<Event::TkrCluster*> trackClusters;
00414         trackClusters.clear();
00415 
00416         // Loop through all the McTrajectoryPoints on this track
00417         for(pointIter = points.begin(); pointIter != points.end(); pointIter++) 
00418         {
00419             // De-reference the McTrajectoryPoint pointer
00420             Event::McTrajectoryPoint* mcPoint = *pointIter;
00421 
00422             // Look for McTrajectoryPoint <--> McPositionHit
00423             Event::McPointToPosHitVec posRelVec = m_pointToPosHitTab->getRelByFirst(mcPoint);
00424 
00425             // Did this trajectory point leave a mark?
00426             if (!posRelVec.empty())
00427             {
00428                 // Can only be one McPositionHit per McTrajectoryPoint... by definition
00429                 Event::McPointToPosHitRel* hitRel = *(posRelVec.begin());
00430 
00431                 Event::McPositionHit* mcPosHit = hitRel->getSecond();
00432 
00433                 // Get any TkrClusters associated to this McPositionHit (note: this eliminates ACD)
00434                 Event::ClusMcPosHitVec clusHitVec = m_clusToPosHitTab->getRelBySecond(mcPosHit);
00435 
00436                 // Do we have anything?
00437                 if (!clusHitVec.empty())
00438                 {
00439                     // An McPositionHit belongs to one cluster (but a cluster can be made up of
00440                     // several McPositionHits...)
00441                     Event::TkrCluster* cluster = (*(clusHitVec.begin()))->getFirst();
00442 
00443                     // "cluster" will be unique at the end 
00444                     trackClusters.insert(cluster);
00445                 }
00446             }
00447         }
00448 
00449         // ok, the size of trackClusters is, then, the number of hits this track left
00450         nTrackHits = trackClusters.size();
00451     }
00452 
00453     return nTrackHits;
00454 }

StatusCode McTkrHitValsTool::initialize  )  [virtual]
 

Reimplemented from ValBase.

Definition at line 140 of file McTkrHitValsTool.cxx.

References ValBase::addItem(), ValBase::initialize(), m_dght1NumHits, m_dght1Type, m_dght2NumHits, m_dght2Type, m_dghtSharedHits, m_posHitElectrons, m_posHitGammas, m_posHitOthers, m_posHitPositrons, m_posHitPrimary, m_ppsvc, m_primNumHits, m_primType, m_process, m_totalHits, m_totalPrimClusHits, m_totalPrimHits, and ValBase::zeroVals().

00141 {
00142     StatusCode sc = StatusCode::SUCCESS;
00143     
00144     MsgStream log(msgSvc(), name());
00145 
00146     if( ValBase::initialize().isFailure()) return StatusCode::FAILURE;
00147   
00148     // get the services    
00149     if( serviceLocator() ) {
00150         if( service("ParticlePropertySvc", m_ppsvc, true).isFailure() ) {
00151             log << MSG::ERROR << "Service [ParticlePropertySvc] not found" << endreq;
00152         }
00153     } else {
00154         return StatusCode::FAILURE;
00155     }
00156  
00157         addItem("McTHPrimType",       &m_primType);
00158     addItem("McTHProcess",        &m_process);
00159         addItem("McTHPrimNumHits",    &m_primNumHits);
00160         addItem("McTHDght1Type",      &m_dght1Type);
00161         addItem("McTHDght1NumHits",   &m_dght1NumHits);
00162         addItem("McTHDght2Type",      &m_dght2Type);
00163         addItem("McTHDght2NumHits",   &m_dght2NumHits);
00164     addItem("McTHPosHitPrimary",  &m_posHitPrimary);
00165     addItem("McTHPosHitGamma",    &m_posHitGammas);
00166     addItem("McTHPosHitElectron", &m_posHitElectrons);
00167     addItem("McTHPosHitPositron", &m_posHitPositrons);
00168     addItem("McTHPosHitOthers",   &m_posHitOthers);
00169     addItem("McTHTotalHits",      &m_totalHits);
00170     addItem("McTHTotPrmHits",     &m_totalPrimHits);
00171     addItem("McTHTotPrmClusHits", &m_totalPrimClusHits);
00172     addItem("McTHDghtSharedHits", &m_dghtSharedHits);
00173 
00174     zeroVals();
00175     
00176     return sc;
00177 }


Member Data Documentation

Event::ClusMcPosHitTab* McTkrHitValsTool::m_clusToPosHitTab [private]
 

Definition at line 97 of file McTkrHitValsTool.cxx.

Referenced by calculate(), CntTotalHits(), GetSharedHits(), and GetTrackHits().

int McTkrHitValsTool::m_dght1NumHits [private]
 

Definition at line 70 of file McTkrHitValsTool.cxx.

Referenced by calculate(), and initialize().

int McTkrHitValsTool::m_dght1Type [private]
 

Definition at line 69 of file McTkrHitValsTool.cxx.

Referenced by calculate(), and initialize().

int McTkrHitValsTool::m_dght2NumHits [private]
 

Definition at line 74 of file McTkrHitValsTool.cxx.

Referenced by calculate(), and initialize().

int McTkrHitValsTool::m_dght2Type [private]
 

Definition at line 73 of file McTkrHitValsTool.cxx.

Referenced by calculate(), and initialize().

int McTkrHitValsTool::m_dghtSharedHits [private]
 

Definition at line 88 of file McTkrHitValsTool.cxx.

Referenced by calculate(), and initialize().

Event::McPartToTrajectoryTab* McTkrHitValsTool::m_partToTrajTab [private]
 

Definition at line 94 of file McTkrHitValsTool.cxx.

Referenced by calculate(), GetSharedHits(), and GetTrackHits().

Event::McPointToPosHitTab* McTkrHitValsTool::m_pointToPosHitTab [private]
 

Definition at line 95 of file McTkrHitValsTool.cxx.

Referenced by calculate(), GetSharedHits(), and GetTrackHits().

int McTkrHitValsTool::m_posHitElectrons [private]
 

Definition at line 79 of file McTkrHitValsTool.cxx.

Referenced by CntMcPosHits(), and initialize().

int McTkrHitValsTool::m_posHitGammas [private]
 

Definition at line 78 of file McTkrHitValsTool.cxx.

Referenced by CntMcPosHits(), and initialize().

int McTkrHitValsTool::m_posHitOthers [private]
 

Definition at line 81 of file McTkrHitValsTool.cxx.

Referenced by CntMcPosHits(), and initialize().

int McTkrHitValsTool::m_posHitPositrons [private]
 

Definition at line 80 of file McTkrHitValsTool.cxx.

Referenced by CntMcPosHits(), and initialize().

int McTkrHitValsTool::m_posHitPrimary [private]
 

Definition at line 77 of file McTkrHitValsTool.cxx.

Referenced by CntMcPosHits(), and initialize().

IParticlePropertySvc* McTkrHitValsTool::m_ppsvc [private]
 

Definition at line 91 of file McTkrHitValsTool.cxx.

Referenced by initialize().

int McTkrHitValsTool::m_primNumHits [private]
 

Definition at line 65 of file McTkrHitValsTool.cxx.

Referenced by calculate(), and initialize().

int McTkrHitValsTool::m_primType [private]
 

Definition at line 64 of file McTkrHitValsTool.cxx.

Referenced by calculate(), and initialize().

int McTkrHitValsTool::m_process [private]
 

Definition at line 84 of file McTkrHitValsTool.cxx.

Referenced by initialize().

int McTkrHitValsTool::m_totalHits [private]
 

Definition at line 85 of file McTkrHitValsTool.cxx.

Referenced by CntTotalHits(), and initialize().

int McTkrHitValsTool::m_totalPrimClusHits [private]
 

Definition at line 87 of file McTkrHitValsTool.cxx.

Referenced by CntTotalHits(), and initialize().

int McTkrHitValsTool::m_totalPrimHits [private]
 

Definition at line 86 of file McTkrHitValsTool.cxx.

Referenced by CntTotalHits(), and initialize().


The documentation for this class was generated from the following file:
Generated on Mon Dec 1 20:09:10 2008 by doxygen 1.3.3