CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes | Friends
DTTPGParameters Class Reference

#include <DTTPGParameters.h>

Public Types

typedef std::vector< std::pair
< DTTPGParametersId,
DTTPGParametersData >
>::const_iterator 
const_iterator
 Access methods to data. More...
 

Public Member Functions

const_iterator begin () const
 
void clear ()
 reset content More...
 
int clock () const
 
 DTTPGParameters ()
 
 DTTPGParameters (DTTPGParameters const &)=delete
 
 DTTPGParameters (const std::string &version)
 
const_iterator end () const
 
int get (int wheelId, int stationId, int sectorId, int &nc, float &ph, DTTimeUnits::type unit) const
 get content More...
 
int get (const DTChamberId &id, int &nc, float &ph, DTTimeUnits::type unit) const
 
void initialize ()
 
DTTPGParametersoperator= (DTTPGParameters const &)
 
int set (int wheelId, int stationId, int sectorId, int nc, float ph, DTTimeUnits::type unit)
 
int set (const DTChamberId &id, int nc, float ph, DTTimeUnits::type unit)
 
void setClock (int clock)
 
void setUnit (float unit)
 
float totalTime (int wheelId, int stationId, int sectorId, DTTimeUnits::type unit) const
 
float totalTime (const DTChamberId &id, DTTimeUnits::type unit) const
 
float unit () const
 
const std::string & version () const
 access version More...
 
std::string & version ()
 
 ~DTTPGParameters ()
 

Private Member Functions

std::string mapName () const
 
template<class Archive >
void serialize (Archive &ar, const unsigned int version)
 

Private Attributes

int clockLength
 
std::vector< std::pair
< DTTPGParametersId,
DTTPGParametersData > > 
dataList
 
std::string dataVersion
 
edm::ConstRespectingPtr
< DTBufferTree< int, int > > 
dBuf
 
float nsPerCount
 

Friends

class boost::serialization::access
 
template<typename CondSerializationT , typename Enabled >
struct cond::serialization::access
 

Detailed Description

Description: Class to hold drift tubes TPG parameters

Author
Paolo Ronchese INFN Padova

Definition at line 62 of file DTTPGParameters.h.

Member Typedef Documentation

Access methods to data.

Definition at line 97 of file DTTPGParameters.h.

Constructor & Destructor Documentation

DTTPGParameters::DTTPGParameters ( )

Constructor

Definition at line 31 of file DTTPGParameters.cc.

References dataList.

32  : dataVersion(" "), nsPerCount(25.0 / 32.0), clockLength(32), dBuf(new DTBufferTree<int, int>) {
33  dataList.reserve(250);
34 }
edm::ConstRespectingPtr< DTBufferTree< int, int > > dBuf
std::vector< std::pair< DTTPGParametersId, DTTPGParametersData > > dataList
std::string dataVersion
DTTPGParameters::DTTPGParameters ( DTTPGParameters const &  )
delete
DTTPGParameters::DTTPGParameters ( const std::string &  version)

Definition at line 36 of file DTTPGParameters.cc.

References dataList.

38  dataList.reserve(250);
39 }
const std::string & version() const
access version
edm::ConstRespectingPtr< DTBufferTree< int, int > > dBuf
std::vector< std::pair< DTTPGParametersId, DTTPGParametersData > > dataList
std::string dataVersion
DTTPGParameters::~DTTPGParameters ( )

Destructor

Definition at line 59 of file DTTPGParameters.cc.

59 {}

Member Function Documentation

DTTPGParameters::const_iterator DTTPGParameters::begin ( void  ) const

Definition at line 166 of file DTTPGParameters.cc.

References dataList.

Referenced by DTLocalTriggerSynchTest::dqmEndJob().

166 { return dataList.begin(); }
std::vector< std::pair< DTTPGParametersId, DTTPGParametersData > > dataList
void DTTPGParameters::clear ( void  )

reset content

Definition at line 117 of file DTTPGParameters.cc.

References dataList, and initialize().

Referenced by BeautifulSoup.Tag::setString().

117  {
118  dataList.clear();
119  initialize();
120  return;
121 }
std::vector< std::pair< DTTPGParametersId, DTTPGParametersData > > dataList
int DTTPGParameters::clock ( ) const

Definition at line 109 of file DTTPGParameters.cc.

References clockLength.

Referenced by setClock(), and totalTime().

109 { return clockLength; }
DTTPGParameters::const_iterator DTTPGParameters::end ( void  ) const

Definition at line 168 of file DTTPGParameters.cc.

References dataList.

Referenced by Types.LuminosityBlockRange::cppID(), Types.EventRange::cppID(), and DTLocalTriggerSynchTest::dqmEndJob().

168 { return dataList.end(); }
std::vector< std::pair< DTTPGParametersId, DTTPGParametersData > > dataList
int DTTPGParameters::get ( int  wheelId,
int  stationId,
int  sectorId,
int &  nc,
float &  ph,
DTTimeUnits::type  unit 
) const

get content

Operations

Definition at line 68 of file DTTPGParameters.cc.

References data, dataList, dBuf, DTBufferTree< Key, Content >::find(), DTTPGParametersData::nClock, DTTimeUnits::ns, nsPerCount, edm::second(), and DTTPGParametersData::tPhase.

Referenced by Options.Options::__getitem__(), betterConfigParser.BetterConfigParser::__updateDict(), submitPVValidationJobs.BetterConfigParser::__updateDict(), rrapi.RRApi::columns(), util.rrapi.RRApi::columns(), rrapi.RRApi::count(), util.rrapi.RRApi::count(), rrapi.RRApi::data(), util.rrapi.RRApi::data(), DTLocalTriggerSynchTest::dqmEndJob(), betterConfigParser.BetterConfigParser::getCompares(), betterConfigParser.BetterConfigParser::getGeneral(), DTConfigPedestals::getOffset(), betterConfigParser.BetterConfigParser::getResultingSection(), submitPVValidationJobs.BetterConfigParser::getResultingSection(), DTConfigPedestals::print(), util.rrapi.RRApi::report(), rrapi.RRApi::report(), util.rrapi.RRApi::reports(), rrapi.RRApi::reports(), rrapi.RRApi::tables(), util.rrapi.RRApi::tables(), util.rrapi.RRApi::tags(), rrapi.RRApi::tags(), rrapi.RRApi::templates(), util.rrapi.RRApi::templates(), util.rrapi.RRApi::workspaces(), and rrapi.RRApi::workspaces().

68  {
69  nc = 0;
70  ph = 0.0;
71 
72  std::vector<int> chanKey;
73  chanKey.reserve(3);
74  chanKey.push_back(wheelId);
75  chanKey.push_back(stationId);
76  chanKey.push_back(sectorId);
77  int ientry;
78  int searchStatus = dBuf->find(chanKey.begin(), chanKey.end(), ientry);
79  if (!searchStatus) {
80  const DTTPGParametersData& data(dataList[ientry].second);
81  nc = data.nClock;
82  ph = data.tPhase;
83  if (unit == DTTimeUnits::ns) {
84  ph *= nsPerCount;
85  }
86  }
87 
88  return searchStatus;
89 }
edm::ConstRespectingPtr< DTBufferTree< int, int > > dBuf
int find(ElementKey fKey, ElementKey lKey, typename DTBufferTreeTrait< Content >::outputTypeOfConstFind &cont) const
U second(std::pair< T, U > const &p)
std::vector< std::pair< DTTPGParametersId, DTTPGParametersData > > dataList
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:79
float unit() const
int DTTPGParameters::get ( const DTChamberId id,
int &  nc,
float &  ph,
DTTimeUnits::type  unit 
) const
void DTTPGParameters::initialize ( )

Definition at line 176 of file DTTPGParameters.cc.

References officialStyle::chan, DTBufferTree< Key, Content >::clear(), dataList, dBuf, DTBufferTree< Key, Content >::insert(), DTTPGParametersId::sectorId, DTTPGParametersId::stationId, and DTTPGParametersId::wheelId.

Referenced by clear(), and operator=().

176  {
177  dBuf->clear();
178 
179  int entryNum = 0;
180  int entryMax = dataList.size();
181  std::vector<int> chanKey;
182  chanKey.reserve(3);
183  while (entryNum < entryMax) {
184  const DTTPGParametersId& chan = dataList[entryNum].first;
185 
186  chanKey.clear();
187  chanKey.push_back(chan.wheelId);
188  chanKey.push_back(chan.stationId);
189  chanKey.push_back(chan.sectorId);
190  dBuf->insert(chanKey.begin(), chanKey.end(), entryNum++);
191  }
192 
193  return;
194 }
tuple chan
lumi = TPaveText(lowX+0.38, lowY+0.061, lowX+0.45, lowY+0.161, &quot;NDC&quot;) lumi.SetBorderSize( 0 ) lumi...
edm::ConstRespectingPtr< DTBufferTree< int, int > > dBuf
std::vector< std::pair< DTTPGParametersId, DTTPGParametersData > > dataList
int insert(ElementKey fKey, ElementKey lKey, Content cont)
std::string DTTPGParameters::mapName ( ) const
private

Definition at line 170 of file DTTPGParameters.cc.

References dataVersion, and mergeVDriftHistosByStation::name.

170  {
171  std::stringstream name;
172  name << dataVersion << "_map_TTPG" << this;
173  return name.str();
174 }
std::string dataVersion
DTTPGParameters & DTTPGParameters::operator= ( DTTPGParameters const &  rhs)

Definition at line 41 of file DTTPGParameters.cc.

References clockLength, dataList, dataVersion, initialize(), and nsPerCount.

41  {
42  if (this != &rhs) {
43  dataVersion = rhs.dataVersion;
44  nsPerCount = rhs.nsPerCount;
45  clockLength = rhs.clockLength;
46  dataList = rhs.dataList;
47  initialize();
48  }
49  return *this;
50 }
std::vector< std::pair< DTTPGParametersId, DTTPGParametersData > > dataList
std::string dataVersion
template<class Archive >
void DTTPGParameters::serialize ( Archive &  ar,
const unsigned int  version 
)
private
int DTTPGParameters::set ( int  wheelId,
int  stationId,
int  sectorId,
int  nc,
float  ph,
DTTimeUnits::type  unit 
)

Definition at line 123 of file DTTPGParameters.cc.

References data, dataList, dBuf, DTBufferTree< Key, Content >::find(), DTBufferTree< Key, Content >::insert(), submitPVResolutionJobs::key, DTTPGParametersData::nClock, DTTimeUnits::ns, nsPerCount, edm::second(), DTTPGParametersId::sectorId, DTTPGParametersId::stationId, DTTPGParametersData::tPhase, and DTTPGParametersId::wheelId.

Referenced by DTConfigTrivialProducer::buildTrivialPedestals(), DTConfigDBProducer::buildTrivialPedestals(), DTLocalTriggerSynchTest::dqmEndJob(), DTTPGParametersHandler::getNewObjects(), and set().

123  {
124  if (unit == DTTimeUnits::ns) {
125  ph /= nsPerCount;
126  }
127 
128  std::vector<int> chanKey;
129  chanKey.reserve(3);
130  chanKey.push_back(wheelId);
131  chanKey.push_back(stationId);
132  chanKey.push_back(sectorId);
133  int ientry;
134  int searchStatus = dBuf->find(chanKey.begin(), chanKey.end(), ientry);
135 
136  if (!searchStatus) {
138  data.nClock = nc;
139  data.tPhase = ph;
140  return -1;
141  } else {
143  key.wheelId = wheelId;
144  key.stationId = stationId;
145  key.sectorId = sectorId;
147  data.nClock = nc;
148  data.tPhase = ph;
149  ientry = dataList.size();
150  dataList.push_back(std::pair<DTTPGParametersId, DTTPGParametersData>(key, data));
151  dBuf->insert(chanKey.begin(), chanKey.end(), ientry);
152  return 0;
153  }
154 
155  return 99;
156 }
edm::ConstRespectingPtr< DTBufferTree< int, int > > dBuf
int find(ElementKey fKey, ElementKey lKey, typename DTBufferTreeTrait< Content >::outputTypeOfConstFind &cont) const
U second(std::pair< T, U > const &p)
std::vector< std::pair< DTTPGParametersId, DTTPGParametersData > > dataList
tuple key
prepare the HTCondor submission files and eventually submit them
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:79
int insert(ElementKey fKey, ElementKey lKey, Content cont)
float unit() const
int DTTPGParameters::set ( const DTChamberId id,
int  nc,
float  ph,
DTTimeUnits::type  unit 
)

Definition at line 158 of file DTTPGParameters.cc.

References set(), and relativeConstraints::station.

158  {
159  return set(id.wheel(), id.station(), id.sector(), nc, ph, unit);
160 }
int set(int wheelId, int stationId, int sectorId, int nc, float ph, DTTimeUnits::type unit)
float unit() const
void DTTPGParameters::setClock ( int  clock)

Definition at line 162 of file DTTPGParameters.cc.

References clock(), and clockLength.

162 { clockLength = clock; }
int clock() const
void DTTPGParameters::setUnit ( float  unit)

Definition at line 164 of file DTTPGParameters.cc.

References nsPerCount, and unit().

164 { nsPerCount = unit; }
float unit() const
float DTTPGParameters::totalTime ( int  wheelId,
int  stationId,
int  sectorId,
DTTimeUnits::type  unit 
) const

Definition at line 95 of file DTTPGParameters.cc.

References haddnano::cl, clock(), DTTimeUnits::ns, nsPerCount, and unit().

Referenced by totalTime().

95  {
96  int cl = 0;
97  float ph = 0.0;
98  get(wheelId, stationId, sectorId, cl, ph, unit);
99  if (unit == DTTimeUnits::ns)
100  return (cl * clock() * nsPerCount) + ph;
101  else
102  return (cl * clock()) + ph;
103 }
int clock() const
tuple cl
Definition: haddnano.py:49
float unit() const
float DTTPGParameters::totalTime ( const DTChamberId id,
DTTimeUnits::type  unit 
) const

Definition at line 105 of file DTTPGParameters.cc.

References relativeConstraints::station, and totalTime().

105  {
106  return totalTime(id.wheel(), id.station(), id.sector(), unit);
107 }
float totalTime(int wheelId, int stationId, int sectorId, DTTimeUnits::type unit) const
float unit() const
float DTTPGParameters::unit ( ) const

Definition at line 111 of file DTTPGParameters.cc.

References nsPerCount.

Referenced by get(), setUnit(), and totalTime().

111 { return nsPerCount; }
const std::string & DTTPGParameters::version ( ) const

access version

Definition at line 113 of file DTTPGParameters.cc.

References dataVersion.

Referenced by validation.Sample::datasetpattern(), and validation.Sample::filename().

113 { return dataVersion; }
std::string dataVersion
std::string & DTTPGParameters::version ( )

Definition at line 115 of file DTTPGParameters.cc.

References dataVersion.

Referenced by validation.Sample::datasetpattern(), and validation.Sample::filename().

115 { return dataVersion; }
std::string dataVersion

Friends And Related Function Documentation

friend class boost::serialization::access
friend

Definition at line 116 of file DTTPGParameters.h.

template<typename CondSerializationT , typename Enabled >
friend struct cond::serialization::access
friend

Definition at line 116 of file DTTPGParameters.h.

Member Data Documentation

int DTTPGParameters::clockLength
private

Definition at line 108 of file DTTPGParameters.h.

Referenced by clock(), operator=(), and setClock().

std::vector<std::pair<DTTPGParametersId, DTTPGParametersData> > DTTPGParameters::dataList
private

Definition at line 110 of file DTTPGParameters.h.

Referenced by begin(), clear(), DTTPGParameters(), end(), get(), initialize(), operator=(), and set().

std::string DTTPGParameters::dataVersion
private

Definition at line 106 of file DTTPGParameters.h.

Referenced by mapName(), operator=(), and version().

edm::ConstRespectingPtr<DTBufferTree<int, int> > DTTPGParameters::dBuf
private

Definition at line 112 of file DTTPGParameters.h.

Referenced by get(), initialize(), and set().

float DTTPGParameters::nsPerCount
private

Definition at line 107 of file DTTPGParameters.h.

Referenced by get(), operator=(), set(), setUnit(), totalTime(), and unit().