CMS 3D CMS Logo

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

ApvAnalysisFactory Class Reference

#include <ApvAnalysisFactory.h>

List of all members.

Public Types

typedef std::map< uint32_t,
ApvAnalysisVector
ApvAnalysisMap
typedef std::vector
< ApvAnalysis * > 
ApvAnalysisVector
typedef std::map< ApvAnalysis
*, uint32_t > 
InverseMap
typedef std::map< ApvAnalysis
*, int > 
MapNumberingPosition

Public Member Functions

 ApvAnalysisFactory (std::string theAlgorithmType, int theNumCMstripsInGroup, int theMaskCalcFlag, float theMaskNoiseCut, float theMaskDeadCut, float theMaskTruncCut, float theCutToAvoidSignal, int theEventInitNumber, int theEventIterNumber)
 ApvAnalysisFactory (const edm::ParameterSet &pset)
ApvAnalysisVector getApvAnalysis (const uint32_t nDET_ID)
void getCommonMode (uint32_t det_id, ApvAnalysis::PedestalType &tmp)
std::vector< float > getCommonMode (uint32_t det_id, int apvNumber)
void getCommonModeSlope (uint32_t det_id, ApvAnalysis::PedestalType &tmp)
float getCommonModeSlope (uint32_t det_id, int apvNumber)
void getMask (uint32_t det_id, TkApvMask::MaskType &tmp)
void getNoise (uint32_t det_id, int apvNumber, ApvAnalysis::PedestalType &noise)
void getNoise (uint32_t det_id, ApvAnalysis::PedestalType &noise)
void getPedestal (uint32_t det_id, int apvNumber, ApvAnalysis::PedestalType &peds)
void getPedestal (uint32_t det_id, ApvAnalysis::PedestalType &peds)
void getRawNoise (uint32_t det_id, ApvAnalysis::PedestalType &noise)
void getRawNoise (uint32_t det_id, int apvNumber, ApvAnalysis::PedestalType &noise)
std::string getStatus (uint32_t det_id)
float getStripNoise (uint32_t det_id, int stripNumber)
float getStripPedestal (uint32_t det_id, int stripNumber)
float getStripRawNoise (uint32_t det_id, int stripNumber)
bool instantiateApvs (uint32_t det_id, int numberOfApvs)
bool isUpdating (uint32_t detId)
void update (uint32_t det_id, const edm::DetSet< SiStripRawDigi > &in)
void updatePair (uint32_t det_id, int apvPair, const edm::DetSet< SiStripRawDigi > &in)
 ~ApvAnalysisFactory ()

Private Member Functions

void constructAuxiliaryApvClasses (ApvAnalysis *theApv, uint32_t det_id, int thisApv)
void deleteApv (ApvAnalysis *apv)

Private Attributes

ApvAnalysisMap apvMap_
std::string theAlgorithmType_
std::string theCMType_
float theCutToAvoidSignal_
int theEventInitNumber_
int theEventIterNumber_
int theMaskCalcFlag_
float theMaskDeadCut_
float theMaskNoiseCut_
float theMaskTruncCut_
int theNumCMstripsInGroup_
bool useDB_

Detailed Description

Definition at line 25 of file ApvAnalysisFactory.h.


Member Typedef Documentation

Definition at line 73 of file ApvAnalysisFactory.h.

Definition at line 28 of file ApvAnalysisFactory.h.

typedef std::map< ApvAnalysis *, uint32_t> ApvAnalysisFactory::InverseMap

Definition at line 75 of file ApvAnalysisFactory.h.

Definition at line 74 of file ApvAnalysisFactory.h.


Constructor & Destructor Documentation

ApvAnalysisFactory::ApvAnalysisFactory ( std::string  theAlgorithmType,
int  theNumCMstripsInGroup,
int  theMaskCalcFlag,
float  theMaskNoiseCut,
float  theMaskDeadCut,
float  theMaskTruncCut,
float  theCutToAvoidSignal,
int  theEventInitNumber,
int  theEventIterNumber 
)
ApvAnalysisFactory::ApvAnalysisFactory ( const edm::ParameterSet pset)

Definition at line 26 of file ApvAnalysisFactory.cc.

References edm::ParameterSet::getParameter().

                                                                 {

  theCMType_ = pset.getParameter<string>("CMType");
  useDB_ = pset.getParameter<bool>("useDB");
  
  theAlgorithmType_ = pset.getParameter<string>("CalculatorAlgorithm");
  theNumCMstripsInGroup_ = pset.getParameter<int>("NumCMstripsInGroup");
  theMaskCalcFlag_ = pset.getParameter<int>("MaskCalculationFlag");
  
  theMaskNoiseCut_ = pset.getParameter<double>("MaskNoiseCut");
  theMaskDeadCut_ =  pset.getParameter<double>("MaskDeadCut");
  theMaskTruncCut_  = pset.getParameter<double>("MaskTruncationCut");
  theCutToAvoidSignal_ = pset.getParameter<double>("CutToAvoidSignal");
  
  theEventInitNumber_ =  pset.getParameter<int>("NumberOfEventsForInit");
  theEventIterNumber_ = pset.getParameter<int>("NumberOfEventsForIteration");
  apvMap_.clear();

 
}
ApvAnalysisFactory::~ApvAnalysisFactory ( )

Definition at line 47 of file ApvAnalysisFactory.cc.

                                       {
  ApvAnalysisFactory::ApvAnalysisMap::iterator it = apvMap_.begin();
  for(;it!=apvMap_.end();it++)
    {
      vector<ApvAnalysis*>::iterator myApv = (*it).second.begin();
      for(;myApv!=(*it).second.end();myApv++)
  deleteApv(*myApv);
    }
  apvMap_.clear();
}

Member Function Documentation

void ApvAnalysisFactory::constructAuxiliaryApvClasses ( ApvAnalysis theApv,
uint32_t  det_id,
int  thisApv 
) [private]

Definition at line 87 of file ApvAnalysisFactory.cc.

References gather_cfg::cout, TkCommonModeCalculator::setCM(), ApvAnalysis::setCommonModeCalculator(), ApvAnalysis::setMask(), ApvAnalysis::setNoiseCalculator(), ApvAnalysis::setPedestalCalculator(), and TkCommonMode::setTopology().

{
  //----------------------------------------------------------------
  // Create the ped/noise/CMN calculators, zero suppressors etc.
  // (Is called by addDetUnitAndConstructApvs()).
  //
  // N.B. Don't call this twice for the same APV!
  //-----------------------------------------------------------------
  // cout<<"VirtualApvAnalysisFactory::constructAuxiliaryApvClasses"<<endl;
  TkPedestalCalculator*   thePedestal =0;
  TkNoiseCalculator*      theNoise=0;
  TkApvMask*              theMask=0;
  TkCommonModeCalculator* theCM=0;

  TkCommonMode*   theCommonMode = new TkCommonMode();
  TkCommonModeTopology* theTopology = new TkCommonModeTopology(128, theNumCMstripsInGroup_);
  theCommonMode->setTopology(theTopology);

  // Create desired algorithms.
  if( theAlgorithmType_ == "TT6") {
    theMask = new TT6ApvMask(theMaskCalcFlag_,theMaskNoiseCut_,theMaskDeadCut_,theMaskTruncCut_); 
    theNoise = new TT6NoiseCalculator(theEventInitNumber_, theEventIterNumber_, theCutToAvoidSignal_); 
    thePedestal = new TT6PedestalCalculator(theEventInitNumber_, theEventIterNumber_, theCutToAvoidSignal_);
    theCM = new TT6CommonModeCalculator (theNoise, theMask, theCutToAvoidSignal_);
  } else if( "TT6NT" == theAlgorithmType_) {
    theMask = new TT6ApvMask( theMaskCalcFlag_,
                              theMaskNoiseCut_,
                              theMaskDeadCut_,
                              theMaskTruncCut_); 
    theNoise = new TT6NoiseCalculator( theEventInitNumber_, 
                                       theEventIterNumber_, 
                                       theCutToAvoidSignal_); 
    thePedestal = new TT6NTPedestalCalculator;
    theCM = new TT6CommonModeCalculator( theNoise, 
                                         theMask, 
                                         theCutToAvoidSignal_);
  } else if (theAlgorithmType_ == "MIX") {
    // the mask as to be defined also for SimplePedCalculator
    theMask = new TT6ApvMask(theMaskCalcFlag_,theMaskNoiseCut_,theMaskDeadCut_,theMaskTruncCut_); 

    thePedestal = new SimplePedestalCalculator(theEventInitNumber_);

    theNoise = new SimpleNoiseCalculator(theEventInitNumber_, useDB_); 

    if (theCMType_ == "Median"){
      theCM = new MedianCommonModeCalculator ();
    } else {
      cout << "Sorry Only Median is available for now, Mean and FastLinear are coming soon" << endl;
    }
  }


  if(theCommonMode)
    theCM->setCM(theCommonMode);
  if(thePedestal)
    theAPV->setPedestalCalculator(*thePedestal);
  if(theNoise)
    theAPV->setNoiseCalculator(*theNoise);
  if(theMask)
    theAPV->setMask(*theMask);
  if(theCM)
    theAPV->setCommonModeCalculator(*theCM);



}
void ApvAnalysisFactory::deleteApv ( ApvAnalysis apv) [private]
std::vector< ApvAnalysis * > ApvAnalysisFactory::getApvAnalysis ( const uint32_t  nDET_ID)

Definition at line 80 of file ApvAnalysisFactory.cc.

Referenced by NoiseTask::book().

{
  ApvAnalysisMap::const_iterator _apvAnalysisIter = apvMap_.find( nDET_ID);

  return apvMap_.end() != _apvAnalysisIter ? _apvAnalysisIter->second : std::vector<ApvAnalysis *>();
}
vector< float > ApvAnalysisFactory::getCommonMode ( uint32_t  det_id,
int  apvNumber 
)

Definition at line 356 of file ApvAnalysisFactory.cc.

References tmp.

{
  vector<float> tmp;
  tmp.clear();
  map<uint32_t, vector<ApvAnalysis* > >::const_iterator theApvs_map =  apvMap_.find(detId);
  if(theApvs_map != apvMap_.end())
    {
      vector<ApvAnalysis* > theApvs = theApvs_map->second;
      
      tmp = theApvs[apvNumber]->commonModeCalculator().commonMode()->returnAsVector();
    }
  return tmp;
}
void ApvAnalysisFactory::getCommonMode ( uint32_t  det_id,
ApvAnalysis::PedestalType tmp 
)

Definition at line 369 of file ApvAnalysisFactory.cc.

References i.

Referenced by SiStripMonitorPedestals::analyze(), and NoiseTask::update().

{

  map<uint32_t, vector<ApvAnalysis*> >::const_iterator apvAnalysisIt = apvMap_.find(detId);
  if(apvAnalysisIt != apvMap_.end())
  {
    vector<ApvAnalysis* > theApvs = apvAnalysisIt->second;
    for( unsigned int i=0; i< theApvs.size(); i++)
    {
      //To be fixed. We return only the first one in the vector.
      vector<float> tmp_cm = theApvs[i]->commonModeCalculator().commonMode()->returnAsVector();
      for( unsigned int it = 0; it < tmp_cm.size(); it++)
        tmp.push_back( tmp_cm[it]);
    }
  }
}
float ApvAnalysisFactory::getCommonModeSlope ( uint32_t  det_id,
int  apvNumber 
)

Definition at line 434 of file ApvAnalysisFactory.cc.

References tmp.

                                                                         {
  map<uint32_t, vector<ApvAnalysis* > >::const_iterator theApvs_map =  apvMap_.find(detId);
  float tmp = -100.0;
  if(theApvs_map != apvMap_.end()) { 
    vector<ApvAnalysis* > theApvs = theApvs_map->second;
    tmp = theApvs[apvNumber]->commonModeCalculator().getCMSlope();
    return tmp;
  }
  return tmp;
}
void ApvAnalysisFactory::getCommonModeSlope ( uint32_t  det_id,
ApvAnalysis::PedestalType tmp 
)

Definition at line 444 of file ApvAnalysisFactory.cc.

References i.

Referenced by SiStripMonitorPedestals::analyze().

{
  tmp.clear();
  map<uint32_t, vector<ApvAnalysis*> >::const_iterator apvAnalysisIt = apvMap_.find(detId);
  if(apvAnalysisIt != apvMap_.end()) {
    vector<ApvAnalysis* > theApvs = apvAnalysisIt->second;
    for( unsigned int i=0; i< theApvs.size(); i++) {
      tmp.push_back(theApvs[i]->commonModeCalculator().getCMSlope());
    }
  }
}
void ApvAnalysisFactory::getMask ( uint32_t  det_id,
TkApvMask::MaskType tmp 
)

Definition at line 386 of file ApvAnalysisFactory.cc.

References i.

Referenced by SiStripMonitorPedestals::analyze().

{
  
  map<uint32_t, vector<ApvAnalysis*> >::const_iterator apvAnalysisIt = apvMap_.find(det_id);
  if(apvAnalysisIt != apvMap_.end()) {
    vector<ApvAnalysis* > theApvs = apvAnalysisIt->second;
    for( unsigned int i=0; i< theApvs.size(); i++)
    {
      TkApvMask::MaskType theMaskType = ( theApvs[i]->mask()).mask();
      //cout <<"theMaskType size "<<theMaskType.size()<<endl;
          
      for( unsigned int ii=0;ii<theMaskType.size();ii++)
      {
        tmp.push_back(theMaskType[ii]);
        //cout <<"The Value "<<theMaskType[ii]<<" "<<ii<<endl;
      }
    }
  }
}
void ApvAnalysisFactory::getNoise ( uint32_t  det_id,
int  apvNumber,
ApvAnalysis::PedestalType noise 
)

Definition at line 269 of file ApvAnalysisFactory.cc.

Referenced by SiStripMonitorPedestals::analyze(), and NoiseTask::update().

{
  //Get the pedestal for a given apv
  noise.clear();
  map<uint32_t, vector<ApvAnalysis*> >::const_iterator apvAnalysisIt = apvMap_.find(detId);
  if(apvAnalysisIt != apvMap_.end())
    {
      vector<ApvAnalysis* > theApvs = apvAnalysisIt->second;

      noise = theApvs[apvNumber]->noiseCalculator().noise();
    }
}
void ApvAnalysisFactory::getNoise ( uint32_t  det_id,
ApvAnalysis::PedestalType noise 
)

Definition at line 294 of file ApvAnalysisFactory.cc.

References begin, end, and tmp.

{
  //Get the pedestal for a given apv
  peds.clear();
  map<uint32_t, vector<ApvAnalysis* > >::const_iterator theApvs_map =  apvMap_.find(detId);
  if(theApvs_map != apvMap_.end())
    {
      vector<ApvAnalysis*>::const_iterator theApvs = (theApvs_map->second).begin();
      for(; theApvs !=  (theApvs_map->second).end();theApvs++)
  {
    ApvAnalysis::PedestalType tmp = (*theApvs)->noiseCalculator().noise();
    for(ApvAnalysis::PedestalType::const_iterator pit =tmp.begin(); pit!=tmp.end(); pit++) 
      peds.push_back(*pit);
  }
    }
}
void ApvAnalysisFactory::getPedestal ( uint32_t  det_id,
ApvAnalysis::PedestalType peds 
)

Definition at line 242 of file ApvAnalysisFactory.cc.

References tmp.

{
  //Get the pedestal for a given apv
  peds.clear();
  map<uint32_t, vector<ApvAnalysis*> >::const_iterator apvAnalysisIt = apvMap_.find(detId);
  if(apvAnalysisIt != apvMap_.end())
    {
      vector<ApvAnalysis* > theApvs = apvAnalysisIt->second;
      for(vector<ApvAnalysis*>::const_iterator it = theApvs.begin(); it != theApvs.end();it++)
  {
    ApvAnalysis::PedestalType tmp = (*it)->pedestalCalculator().pedestal();
    for(ApvAnalysis::PedestalType::const_iterator pit =tmp.begin(); pit!=tmp.end(); pit++) 
      peds.push_back(*pit);
  }
    }
}
void ApvAnalysisFactory::getPedestal ( uint32_t  det_id,
int  apvNumber,
ApvAnalysis::PedestalType peds 
)

Definition at line 229 of file ApvAnalysisFactory.cc.

Referenced by SiStripMonitorPedestals::analyze(), PedsOnlyTask::update(), and NoiseTask::update().

{
  //Get the pedestal for a given apv
  peds.clear();
  map<uint32_t, vector<ApvAnalysis*> >::const_iterator apvAnalysisIt = apvMap_.find(detId);
  if(apvAnalysisIt != apvMap_.end())
    {
      vector<ApvAnalysis*> myApvs = apvAnalysisIt->second;
      peds = myApvs[apvNumber]->pedestalCalculator().pedestal();

    }  
}
void ApvAnalysisFactory::getRawNoise ( uint32_t  det_id,
ApvAnalysis::PedestalType noise 
)

Definition at line 337 of file ApvAnalysisFactory.cc.

References begin, end, and tmp.

{
  //Get the pedestal for a given apv
  peds.clear();
  map<uint32_t, vector<ApvAnalysis* > >::const_iterator theApvs_map =  apvMap_.find(detId);
  if(theApvs_map != apvMap_.end())
    {
      vector<ApvAnalysis*>::const_iterator theApvs = (theApvs_map->second).begin();
      for(; theApvs !=  (theApvs_map->second).end();theApvs++)
  {
    ApvAnalysis::PedestalType tmp = (*theApvs)->pedestalCalculator().rawNoise();
    for(ApvAnalysis::PedestalType::const_iterator pit =tmp.begin(); pit!=tmp.end(); pit++) 
      peds.push_back(*pit);
  }
    }
}
void ApvAnalysisFactory::getRawNoise ( uint32_t  det_id,
int  apvNumber,
ApvAnalysis::PedestalType noise 
)

Definition at line 312 of file ApvAnalysisFactory.cc.

Referenced by SiStripMonitorPedestals::analyze(), and PedsOnlyTask::update().

{
  //Get the pedestal for a given apv
  noise.clear();
  map<uint32_t, vector<ApvAnalysis*> >::const_iterator apvAnalysisIt = apvMap_.find(detId);
  if(apvAnalysisIt != apvMap_.end())
    {
      vector<ApvAnalysis* > theApvs = apvAnalysisIt->second;

      noise = theApvs[apvNumber]->pedestalCalculator().rawNoise();
    }
}
std::string ApvAnalysisFactory::getStatus ( uint32_t  det_id)
float ApvAnalysisFactory::getStripNoise ( uint32_t  det_id,
int  stripNumber 
)

Definition at line 282 of file ApvAnalysisFactory.cc.

References cond::rpcobtemp::temp.

{
  //Get the pedestal for a given apv
  ApvAnalysis::PedestalType temp;
  int apvNumb = int(stripNumber / 128.); 
  int stripN = (stripNumber - apvNumb*128);
  
  getNoise(detId, apvNumb, temp);
  return temp[stripN];

}
float ApvAnalysisFactory::getStripPedestal ( uint32_t  det_id,
int  stripNumber 
)

Definition at line 258 of file ApvAnalysisFactory.cc.

References cond::rpcobtemp::temp.

{
  //Get the pedestal for a given apv
  ApvAnalysis::PedestalType temp;
  int apvNumb = int(stripNumber / 128.); 
  int stripN = (stripNumber - apvNumb*128);
  
  getPedestal(detId, apvNumb, temp);
  return temp[stripN];

}
float ApvAnalysisFactory::getStripRawNoise ( uint32_t  det_id,
int  stripNumber 
)

Definition at line 325 of file ApvAnalysisFactory.cc.

References cond::rpcobtemp::temp.

{
  //Get the pedestal for a given apv
  ApvAnalysis::PedestalType temp;
  int apvNumb = int(stripNumber / 128.); 
  int stripN = (stripNumber - apvNumb*128);
  
  getRawNoise(detId, apvNumb, temp);
  return temp[stripN];

}
bool ApvAnalysisFactory::instantiateApvs ( uint32_t  det_id,
int  numberOfApvs 
)

Definition at line 60 of file ApvAnalysisFactory.cc.

References gather_cfg::cout, i, and cond::rpcobtemp::temp.

Referenced by PedsOnlyTask::book(), NoiseTask::book(), and SiStripMonitorPedestals::createMEs().

                                                                        {


  ApvAnalysisFactory::ApvAnalysisMap::iterator CPos = apvMap_.find(detId);
  if(CPos != apvMap_.end()) { 
    cout << " APVs for Detector Id " << detId << " already created !!!" << endl;;
    return false;
  }
  vector< ApvAnalysis* > temp;
  for(int i=0;i<numberOfApvs;i++)
    {
      ApvAnalysis* apvTmp = new ApvAnalysis(theEventIterNumber_);
      //      constructAuxiliaryApvClasses(apvTmp); 
      constructAuxiliaryApvClasses(apvTmp,detId,i); 
      temp.push_back(apvTmp);
    }
  apvMap_.insert(pair< uint32_t, vector< ApvAnalysis* > >(detId, temp));
   return true;  
}
bool ApvAnalysisFactory::isUpdating ( uint32_t  detId)

Definition at line 405 of file ApvAnalysisFactory.cc.

References end.

{
  bool updating = true;
  map<uint32_t, vector<ApvAnalysis*> >::const_iterator apvAnalysisIt = apvMap_.find(detId);
  if(apvAnalysisIt != apvMap_.end())
    {
      for(vector<ApvAnalysis*>::const_iterator apvIt = (apvAnalysisIt->second).begin(); apvIt != (apvAnalysisIt->second).end(); apvIt++)  
  { 
    if(!( (*apvIt)->pedestalCalculator().status()->isUpdating() ))
      updating = false;
  }
    }
  return updating;

}
void ApvAnalysisFactory::update ( uint32_t  det_id,
const edm::DetSet< SiStripRawDigi > &  in 
)

Definition at line 199 of file ApvAnalysisFactory.cc.

References edm::DetSet< T >::data, end, and i.

Referenced by SiStripMonitorPedestals::analyze().

{
  map<uint32_t, vector<ApvAnalysis*> >::const_iterator apvAnalysisIt = apvMap_.find(detId);
  if(apvAnalysisIt != apvMap_.end())
    {
      int i=0;
       for(vector<ApvAnalysis*>::const_iterator apvIt = (apvAnalysisIt->second).begin(); apvIt != (apvAnalysisIt->second).end(); apvIt++)
   {
     edm::DetSet<SiStripRawDigi> tmpRawDigi;
     //it is missing the detId ...
     tmpRawDigi.data.reserve(128);
     int startStrip = 128*i;
     int stopStrip = startStrip + 128;
     
     for( int istrip = startStrip; istrip < stopStrip;istrip++)
     {
       if( static_cast<int>( in.data.size()) <= istrip) tmpRawDigi.data.push_back(0);
       else tmpRawDigi.data.push_back(in.data[istrip]); //maybe dangerous
     }

     (*apvIt)->newEvent();
     (*apvIt)->updateCalibration(tmpRawDigi);
     i++;
   }
    }
  
}
void ApvAnalysisFactory::updatePair ( uint32_t  det_id,
int  apvPair,
const edm::DetSet< SiStripRawDigi > &  in 
)

Definition at line 157 of file ApvAnalysisFactory.cc.

References edm::DetSet< T >::data, and end.

Referenced by PedsOnlyTask::fill(), and NoiseTask::fill().

{
  map<uint32_t, vector<ApvAnalysis*> >::const_iterator apvAnalysisIt = apvMap_.find(detId);
  if(apvAnalysisIt != apvMap_.end())
    {
      int iter=0;

      for(vector<ApvAnalysis*>::const_iterator apvIt = (apvAnalysisIt->second).begin(); apvIt != (apvAnalysisIt->second).end(); apvIt++)
  {

    if (iter==pairNumber*2 || iter==(2*pairNumber+1)){
      
      //      cout << "ApvAnalysisFactory::updatePair pair number " << pairNumber << endl;
      //      cout << "ApvAnlysis will be updated for the apv # " << iter << endl;

      edm::DetSet<SiStripRawDigi> tmpRawDigi;
      tmpRawDigi.data.reserve(128);

      int startStrip = 128*(iter%2);
      int stopStrip = startStrip + 128;
 
      for( int istrip = startStrip; istrip < stopStrip;istrip++)
      {
        if( static_cast<int>( in.data.size()) <= istrip) tmpRawDigi.data.push_back( 0);
        else tmpRawDigi.data.push_back(in.data[istrip]); //maybe dangerous
      }
      
      (*apvIt)->newEvent();
      (*apvIt)->updateCalibration(tmpRawDigi);
      
    }

    iter++;
  }
    }
  
}// void

Member Data Documentation

Definition at line 81 of file ApvAnalysisFactory.h.

Definition at line 82 of file ApvAnalysisFactory.h.

std::string ApvAnalysisFactory::theCMType_ [private]

Definition at line 91 of file ApvAnalysisFactory.h.

Definition at line 88 of file ApvAnalysisFactory.h.

Definition at line 89 of file ApvAnalysisFactory.h.

Definition at line 90 of file ApvAnalysisFactory.h.

Definition at line 84 of file ApvAnalysisFactory.h.

Definition at line 86 of file ApvAnalysisFactory.h.

Definition at line 85 of file ApvAnalysisFactory.h.

Definition at line 87 of file ApvAnalysisFactory.h.

Definition at line 83 of file ApvAnalysisFactory.h.

Definition at line 92 of file ApvAnalysisFactory.h.