ATLAS Offline Software
Loading...
Searching...
No Matches
LArCalibParams.h
Go to the documentation of this file.
1//Dear emacs, this is -*- c++ -*-
2
3/*
4 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5*/
6
7#ifndef LARRAWCONDITIONS_LARCALIBPARAMS_H
8#define LARRAWCONDITIONS_LARCALIBPARAMS_H
9
11
12#include <vector>
13#include <map>
14
15class LArOnlineID;
16class StatusCode;
17
25
26#define kmaxDAC 100000
27
29
30 public:
31
33
34 virtual ~LArCalibParams( );
35 virtual StatusCode initialize ( );
36
37 void set(const HWIdentifier CalibModuleID, const unsigned nTrigger,
38 const std::vector<unsigned>& Pattern, const std::vector<unsigned>& DAC, const std::vector<unsigned>& Delay);
39
40 //Special set function, assume only one set of parameters valid for all boards
41 void set(const unsigned nTrigger, const std::vector<unsigned>& Pattern, const std::vector<unsigned>& DAC,
42 const std::vector<unsigned>& Delay);
43
44
45 unsigned Delay(const unsigned event, const HWIdentifier calibLineID) const;
46
47 unsigned DAC(const unsigned event, const HWIdentifier calibLineID) const ;
48
49 bool isPulsed(const unsigned event, const HWIdentifier calibLineID) const;
50
51 unsigned NTrigger(const HWIdentifier calibModuleID) const;
52
53 unsigned getNumberConfig(const HWIdentifier calibModuleID) const;
54
55 unsigned getNumberPatterns(const HWIdentifier calibModuleID) const;
56
57 //const CalibBoard& getCalibBoardParams(const HWIdentifier calibModuleID) const;
58
59 class CalibBoard {
60 public:
61 unsigned m_nTrigger;
62 std::vector<unsigned> m_Pattern;
63 std::vector<unsigned> m_DAC;
64 std::vector<unsigned> m_Delay;
65 //GetFunctions:
66 unsigned Delay (const unsigned event) const;
67 unsigned DAC (const unsigned event) const;
68 bool isPulsed(const unsigned event, const unsigned short calibLine) const;
69 };
70
71 private:
72 std::map< HWIdentifier, CalibBoard> m_mCalibBoards;
74 bool m_uniqueConfig; //True, if the same parameters are valid for all boards.
75
76};
77
79CLASS_DEF( LArCalibParams, 228761010,1 )
80
81
82#endif
macros to associate a CLID to a type
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
bool isPulsed(const unsigned event, const unsigned short calibLine) const
unsigned DAC(const unsigned event) const
std::vector< unsigned > m_DAC
std::vector< unsigned > m_Delay
unsigned Delay(const unsigned event) const
std::vector< unsigned > m_Pattern
const LArOnlineID * m_onlineHelper
unsigned Delay(const unsigned event, const HWIdentifier calibLineID) const
bool isPulsed(const unsigned event, const HWIdentifier calibLineID) const
virtual StatusCode initialize()
unsigned getNumberPatterns(const HWIdentifier calibModuleID) const
void set(const HWIdentifier CalibModuleID, const unsigned nTrigger, const std::vector< unsigned > &Pattern, const std::vector< unsigned > &DAC, const std::vector< unsigned > &Delay)
unsigned getNumberConfig(const HWIdentifier calibModuleID) const
std::map< HWIdentifier, CalibBoard > m_mCalibBoards
virtual ~LArCalibParams()
unsigned DAC(const unsigned event, const HWIdentifier calibLineID) const
unsigned NTrigger(const HWIdentifier calibModuleID) const