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

GenericThingId.h

Go to the documentation of this file.
00001 #ifndef GENERICTHINGID_H
00002 #define GENERICTHINGID_H
00003 
00005 // 
00006 // GenericThingId
00007 //
00008 // n.tagg1@physics.ox.ac.uk
00009 //
00010 // This class is a generic wrapper for a bunch of other
00011 // ID classes. It is used by the Calibrator to abstract things
00012 // to a sort of 'generic channel id' which can be made into a string.
00013 // It is used to count error statistics in a nice, general way.
00014 // It may have other uses.
00015 //
00017 
00018 #include "Plex/PlexPixelSpotId.h"
00019 #include "Plex/PlexLedId.h"
00020 #include "Plex/PlexStripEndId.h"
00021 #include "RawData/RawChannelId.h"
00022 
00023 class GenericThingId;
00024 
00025 class GenericThingId
00026 {
00027  public:
00028   GenericThingId();
00029   GenericThingId(Int_t encoded);
00030   GenericThingId(const RawChannelId& c);
00031   GenericThingId(const PlexPixelSpotId& c);
00032   GenericThingId(const PlexStripEndId& c);
00033   GenericThingId(const PlexLedId& c);
00034 
00035   const char* AsString(const char* opt="") const;
00036   bool operator<(const GenericThingId& other) const; // for sorting.
00037   
00038   Int_t fType;
00039   Int_t fEncoded;
00040 
00041   typedef enum EThingType {
00042     kUnknown = 0,
00043     kRawChannelId,
00044     kPlexPixelSpotId,
00045     kPlexStripEndId,
00046     kPlexLedId
00047   } ThingType_t;
00048 };
00049 
00050 
00051 
00052 #endif

Generated on Mon Feb 15 11:06:45 2010 for loon by  doxygen 1.3.9.1