ATLAS Offline Software
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 
15 class LArOnlineID;
16 class StatusCode;
17 
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 
78 #include "AthenaKernel/CLASS_DEF.h"
79 CLASS_DEF( LArCalibParams, 228761010,1 )
80 
81 
82 #endif
LArCalibParams::getNumberPatterns
unsigned getNumberPatterns(const HWIdentifier calibModuleID) const
Definition: LArCalibParams.cxx:233
LArCalibParams::CalibBoard::Delay
unsigned Delay(const unsigned event) const
Definition: LArCalibParams.cxx:102
LArCalibParams::NTrigger
unsigned NTrigger(const HWIdentifier calibModuleID) const
Definition: LArCalibParams.cxx:211
LArCalibParams::m_uniqueConfig
bool m_uniqueConfig
Definition: LArCalibParams.h:74
LArCalibParams::CalibBoard::m_Delay
std::vector< unsigned > m_Delay
Definition: LArCalibParams.h:64
LArCalibParams
Definition: LArCalibParams.h:28
LArCalibParams::CalibBoard::m_DAC
std::vector< unsigned > m_DAC
Definition: LArCalibParams.h:63
HWIdentifier
Definition: HWIdentifier.h:13
LArCalibParams::m_mCalibBoards
std::map< HWIdentifier, CalibBoard > m_mCalibBoards
Definition: LArCalibParams.h:72
LArCalibParams::CalibBoard
Definition: LArCalibParams.h:59
LArCalibParams::CalibBoard::m_Pattern
std::vector< unsigned > m_Pattern
Definition: LArCalibParams.h:62
LArCalibParams::LArCalibParams
LArCalibParams()
Definition: LArCalibParams.cxx:12
LArCalibParams::~LArCalibParams
virtual ~LArCalibParams()
Definition: LArCalibParams.cxx:41
event
POOL::TEvent event(POOL::TEvent::kClassAccess)
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LArCalibParams::isPulsed
bool isPulsed(const unsigned event, const HWIdentifier calibLineID) const
Definition: LArCalibParams.cxx:167
LArCalibParams::m_onlineHelper
const LArOnlineID * m_onlineHelper
Definition: LArCalibParams.h:73
LArCalibParams::CalibBoard::m_nTrigger
unsigned m_nTrigger
Definition: LArCalibParams.h:61
LArCalibParams::DAC
unsigned DAC(const unsigned event, const HWIdentifier calibLineID) const
Definition: LArCalibParams.cxx:147
LArCalibParams::CalibBoard::DAC
unsigned DAC(const unsigned event) const
Definition: LArCalibParams.cxx:110
HWIdentifier.h
LArCalibParams::Delay
unsigned Delay(const unsigned event, const HWIdentifier calibLineID) const
Definition: LArCalibParams.cxx:128
LArCalibParams::getNumberConfig
unsigned getNumberConfig(const HWIdentifier calibModuleID) const
Definition: LArCalibParams.cxx:190
LArOnlineID
Definition: LArOnlineID.h:20
LArCalibParams::CalibBoard::isPulsed
bool isPulsed(const unsigned event, const unsigned short calibLine) const
Definition: LArCalibParams.cxx:90
Trk::Pattern
@ Pattern
Definition: ParametersCommon.h:29
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition: Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:64
LArCalibParams::initialize
virtual StatusCode initialize()
Definition: LArCalibParams.cxx:17
LArCalibParams::set
void set(const HWIdentifier CalibModuleID, const unsigned nTrigger, const std::vector< unsigned > &Pattern, const std::vector< unsigned > &DAC, const std::vector< unsigned > &Delay)
Definition: LArCalibParams.cxx:46
CLASS_DEF.h
macros to associate a CLID to a type