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

HitProfile.h

Go to the documentation of this file.
00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 #ifndef HITPROFILE_H
00010 #define HITPROFILE_H
00011 
00012 #include <vector>
00013 #include <utility>
00014 #include <iosfwd>
00015 #include "TObject.h"
00016 #include "TClass.h"
00017 #include "JobControl/Exception.h"
00018 
00019 namespace sim {
00020   
00021   class HitProfile : public TObject {
00022     
00023   public:
00024     HitProfile();
00025     ~HitProfile();
00026     
00027     // Get methods
00028     unsigned int                     NComponents()             const;
00029     std::pair<unsigned short, float> Component(unsigned int i) const;
00030     std::pair<unsigned short, float> Component(unsigned int i, float fact) const;
00031     unsigned short                   TrackId(unsigned int i)   const;
00032     float                            Fraction(unsigned int i)  const;
00033     unsigned short                   NoiseId()                 const;
00034 
00035     // Set methods
00036     void                             Push(std::pair<unsigned short, float> component);
00037     void                             Push(unsigned short, float);
00038     void                             SetFraction(unsigned int i, float fraction);
00039 
00040     void                             NormalizeFraction();
00041     void                             Combine();
00042     void                             Clear();
00043 
00044   public:
00045     std::vector<unsigned short> fTrackId;
00046     std::vector<float>          fFraction;
00047     unsigned short              kNoiseId;
00048     
00049     ClassDef(HitProfile, 1)
00050       };
00051 }
00052 
00053 #endif // HITPROFILE_H
00054 

Generated on Mon Dec 1 02:35:18 2008 for NOvA Offline by  doxygen 1.3.9.1