Skip to content
Snippets Groups Projects
Select Git revision
  • 132470f6a552e7ca1ae13345bf7ced29479b4e24
  • master default protected
  • 11-helicity-logging-levels
  • develop
  • v1.3-dev
  • features/online
  • v1.4.0
  • v1.3.1
  • v1.3.0
  • v2.0.0_dev
  • v1.2.0
  • v1.1.9
  • v1.1.8
  • v1.1.7
  • v1.1.6
  • v1.1.5
  • v1.1.4
  • v1.1.3
  • v1.1.2
  • v1.1.0
  • v1.1.1
  • v1.0.0
  • v0.96
  • v0.95
  • hcana_podd_1.5.28
  • HitMaps
26 results

THcDetectorMap.h

Blame
  • user avatar
    Stephen A. Wood authored
      In the map file, use
        slot=<slot>,<refchan>
    to specify the reference channel for that slot.  If the slot= directive
    is repeated, the reference channel number must be given for each repeat.
    (Could potentially have different reference channels for different channels
    of that slot.)
    a009368a
    History
    THcDetectorMap.h 1.37 KiB
    #ifndef ROOT_THcDetectorMap
    #define ROOT_THcDetectorMap
    
    //////////////////////////////////////////////////////////////////////////
    //
    // THcDetectorMap
    //
    //////////////////////////////////////////////////////////////////////////
    
    #include "TObject.h"
    #include "THaDetMap.h"
    #include <list>
    
    class THcDetectorMap : public TObject {
    
     public:
      THcDetectorMap();
      virtual ~THcDetectorMap();
      
      virtual void Load(const char *fname);
      virtual Int_t FillMap(THaDetMap* detmap, const char* detectorname);
    
      Int_t fNchans;  // Number of hardware channels
    
      struct Channel { // Mapping for one hardware channel
        Int_t roc;
        Int_t slot;
        Int_t refchan;
        Int_t channel;
        Int_t did;
        Int_t plane;
        Int_t counter;
        Int_t signal;
        Int_t model;
      };
      Channel fTable[10000]; // Big ugly cache of the map file
    
      struct ChaninMod {
        Int_t channel;
        Int_t plane;
        Int_t counter;
        Int_t signal;
        Int_t refchan;
      };
      struct ModChanList {
        Int_t roc;
        Int_t slot;
        Int_t model;
        std::list<ChaninMod> clist;
          
      };
      std::list<ModChanList> mlist;
    
      struct IDMap {
        char* name;
        Int_t id;
      };
      IDMap fIDMap[50];
      Int_t fNIDs;			/* Number of detector IDs */
    
      bool compare(const ChaninMod *first, const ChaninMod *second);
    
     protected:
    
      ClassDef(THcDetectorMap,0); // Map electronics channels to Detector, Plane, Counter, Signal
    };
    #endif