ATLAS Offline Software
Loading...
Searching...
No Matches
StrawStatusContainer.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
3*/
4
5// @file StrawStatusContainer.h
6//
7// @brief
8// Class for storing/accessing trt straw status data
9//
10// @author Esben Klinkby <klinkby@nbi.dk>
11//
12//
13
14#ifndef TRT_CONDITIONSDATA_STRAWSTATUSCONTAINER_H
15#define TRT_CONDITIONSDATA_STRAWSTATUSCONTAINER_H
16
17#include <string>
21
22
23namespace TRTCond
24{
25
27
29 {
30 public:
31 static void erase( StrawStatus& x) { x.setstatus(StrawStatus::Undefined) ; }
32 static void copy( StrawStatus& out, const StrawStatus& in) { out = in ; }
33 static StrawStatus initialvalue() { return StrawStatus() ; }
34
35 static bool isvalid( const StrawStatus& x ) { return x.getstatus()!=StrawStatus::Undefined ;}
36 static size_t footprint( const StrawStatus& x) { return sizeof(x) ; }
37 static void print(const StrawStatus& x) { x.print() ; }
38 static bool isequal(const StrawStatus& x, const StrawStatus& y) { return x==y ; }
39 };
40
41
42 template <int LEVEL>
43 class StrawStatusContainerTemplate : public NestedContainer<LEVEL, StrawStatus,DeadStrawTrait>
44 {
45 private:
46
47 public:
50
53
55 void setStatus(const ExpandedIdentifier& id, unsigned int status) {
57 // what is called here...?
58 }
59
60 };
61 class StrawStatusContainer : public StrawStatusContainerTemplate<ExpandedIdentifier::DETECTOR>
62 {
63 } ;
64}
65
66CLASS_DEF(TRTCond::StrawStatusContainer,1222305359,1) //correct
67
68#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
'Nested' template container for storing TRT conditions data.
#define y
#define x
trait class to deal with StrawStatus in NestedContainers
static StrawStatus initialvalue()
static void copy(StrawStatus &out, const StrawStatus &in)
static bool isvalid(const StrawStatus &x)
static size_t footprint(const StrawStatus &x)
static bool isequal(const StrawStatus &x, const StrawStatus &y)
static void erase(StrawStatus &x)
static void print(const StrawStatus &x)
Nested container class, ie a base class at level l with daugthers at level l+1.
void setStatus(const ExpandedIdentifier &id, unsigned int status)
set status