ATLAS Offline Software
Loading...
Searching...
No Matches
InDetRawDataFakeCreator Class Reference

Class which encapsulates the creation of an InDetRawDataCollection. More...

#include <InDetRawDataFakeCreator.h>

Collaboration diagram for InDetRawDataFakeCreator:

Public Member Functions

 InDetRawDataFakeCreator ()
 Default constructor.
const InDetRawDataCollection< PixelRDORawData > * createPixelRawDataColl (IdentifierHash hashId, const PixelID *pixelId, MsgStream &log)
 Create PixelRawDataCollection.
const InDetRawDataCollection< SCT_RDORawData > * createSCT_RawDataColl (IdentifierHash hashId, const SCT_ID *sctId, MsgStream &log)
 Create SCT_RawDataCollection.
const InDetRawDataCollection< TRT_RDORawData > * createTRT_RawDataColl (IdentifierHash hashId, const TRT_ID *trtId, MsgStream &log)
 Create TRT_RawDataCollection.

Detailed Description

Class which encapsulates the creation of an InDetRawDataCollection.

Definition at line 38 of file InDetRawDataFakeCreator.h.

Constructor & Destructor Documentation

◆ InDetRawDataFakeCreator()

InDetRawDataFakeCreator::InDetRawDataFakeCreator ( )
inline

Default constructor.

Definition at line 66 of file InDetRawDataFakeCreator.h.

67{
68}

Member Function Documentation

◆ createPixelRawDataColl()

const InDetRawDataCollection< PixelRDORawData > * InDetRawDataFakeCreator::createPixelRawDataColl ( IdentifierHash hashId,
const PixelID * pixelId,
MsgStream & log )
inline

Create PixelRawDataCollection.

Definition at line 72 of file InDetRawDataFakeCreator.h.

75{
76
77 // create a new pixel RDO collection
78 InDetRawDataCollection<PixelRDORawData>* rdocoll =
79 new InDetRawDataCollection< PixelRDORawData >(hashId);
80
81 IdContext cntx(pixelId->wafer_context());
82
83 // need the DE identifier
84 Identifier waferId = pixelId->wafer_id (hashId);
85 rdocoll->setIdentifier(waferId);
86
87 log << MSG::VERBOSE << "hash, id1, id2: "
88 << MSG::hex << (unsigned int)hashId << MSG::dec << " "
89 << MSG::hex << waferId << MSG::dec << " "
90 << MSG::hex << pixelId->wafer_id(hashId) << MSG::dec << " "
91 << pixelId->show_to_string(waferId) << " "
92 << pixelId->show_to_string(pixelId->wafer_id(hashId)) << " "
93 << endmsg;
94
95 int deltaPhi = pixelId->phi_index_max(waferId)/6;
96 int deltaEta = pixelId->eta_index_max(waferId)/6;
97 log << MSG::VERBOSE << "phi max, eta max, dphi, deta: "
98 << pixelId->phi_index_max(waferId) << " "
99 << pixelId->eta_index_max(waferId) << " "
100 << deltaPhi << " "
101 << deltaEta << " "
102 << endmsg;
103
104 int phi = deltaPhi;
105 // loop on 16 digits
106 for (int j = 0; j < 4; ++j, phi += deltaPhi) {
107 int eta = deltaEta;
108 for (int k = 0; k < 4; ++k, eta += deltaEta) {
109
110 Identifier id_readout = pixelId->pixel_id(waferId, phi, eta);
111 const unsigned int mo = (1 & 0x1F) << 27;
112 const unsigned int fe2 =(1 & 0xF) << 21;
113 const unsigned int row2=(1 & 0xFF) << 13;
114 const unsigned int col2=(1 & 0x1F) << 8;
115 const unsigned int tot =(5 & 0xFF);
116 unsigned int pixelWord = (mo|fe2|row2|col2|tot);
117
118 Pixel1RawData *rdo= new Pixel1RawData(id_readout, pixelWord);
119 if (rdo) {
120 rdocoll->push_back(rdo);
121
122 } else {
123 log << MSG::ERROR << "Could not create Pixel1RawData object !"
124 << endmsg;
125 }
126 // Print out contents of RDO
127 log << MSG::VERBOSE << "Created RDO: "
128 << pixelId->show_to_string(rdo->identify()) << " "
129 << MSG::hex << rdo->getWord() << endmsg;
130 }
131 }
132
133 return (rdocoll);
134}
Scalar eta() const
pseudorapidity method
Scalar deltaPhi(const MatrixBase< Derived > &vec) const
Scalar phi() const
phi method
#define endmsg
std::string show_to_string(Identifier id, const IdContext *context=0, char sep='.') const
or provide the printout in string form
value_type push_back(value_type pElem)
Add an element to the end of the collection.
void setIdentifier(Identifier id)
virtual Identifier identify() const override final
unsigned int getWord() const
Identifier wafer_id(int barrel_ec, int layer_disk, int phi_module, int eta_module) const
For a single crystal.
Definition PixelID.h:360
Identifier pixel_id(int barrel_ec, int layer_disk, int phi_module, int eta_module, int phi_index, int eta_index) const
For an individual pixel.
Definition PixelID.h:428
int eta_index_max(const Identifier &id) const
Definition PixelID.cxx:162
int phi_index_max(const Identifier &id) const
Definition PixelID.cxx:143
IdContext wafer_context() const
Definition PixelID.cxx:980
double deltaEta(const I4Momentum &p1, const I4Momentum &p2)
Computes efficiently .
Definition P4Helpers.h:66

◆ createSCT_RawDataColl()

const InDetRawDataCollection< SCT_RDORawData > * InDetRawDataFakeCreator::createSCT_RawDataColl ( IdentifierHash hashId,
const SCT_ID * sctId,
MsgStream & log )
inline

Create SCT_RawDataCollection.

Definition at line 137 of file InDetRawDataFakeCreator.h.

140{
141 // create a new sct RDO collection
142 auto * rdocoll = new InDetRawDataCollection< SCT_RDORawData >(hashId);
143 IdContext cntx(sctId->wafer_context());
144 // need the DE identifier
145 Identifier waferId = sctId->wafer_id (hashId);
146 rdocoll->setIdentifier(waferId);
147 const int maxPossibleStrip = sctId->strip_max(waferId);
148 if (maxPossibleStrip<0) { //error condition, if waferId not found
149 delete rdocoll;
150 log << MSG::WARNING <<"waferId unknown in InDetRawDataFakeCreator::createSCT_RawDataColl"<<endmsg;
151 return nullptr;
152 }
153 int deltaStrip = maxPossibleStrip/6;
154 log << MSG::VERBOSE << "strip max, dstrip: "
155 << sctId->strip_max(waferId) << " "
156 << deltaStrip << " "
157 << endmsg;
158
159 int strip = deltaStrip;
160 // loop on 4 digits
161 for (int j = 0; j < 4; ++j, strip += deltaStrip) {
162
163 Identifier id_readout = sctId->strip_id(waferId, strip);
164 const unsigned int str =(strip) << 16;
165 const unsigned int group = 4;
166 unsigned int word= (group|str);
167
168 SCT1_RawData *rdo= new SCT1_RawData(id_readout, word);
169 if (rdo) {
170 rdocoll->push_back(rdo);
171
172 } else {
173 log << MSG::ERROR << "Could not create SCT1_RawData object !"
174 << endmsg;
175 }
176 // Print out contents of RDO
177 log << MSG::VERBOSE << "Created RDO: "
178 << sctId->show_to_string(rdo->identify()) << " "
179 << MSG::hex << rdo->getWord() << endmsg;
180 }
181
182 return (rdocoll);
183}
Identifier wafer_id(int barrel_ec, int layer_disk, int phi_module, int eta_module, int side) const
For a single side of module.
Definition SCT_ID.h:459
int strip_max(const Identifier &id) const
Definition SCT_ID.cxx:188
IdContext wafer_context() const
Definition SCT_ID.cxx:772
Identifier strip_id(int barrel_ec, int layer_disk, int phi_module, int eta_module, int side, int strip) const
For an individual strip.
Definition SCT_ID.h:530

◆ createTRT_RawDataColl()

const InDetRawDataCollection< TRT_RDORawData > * InDetRawDataFakeCreator::createTRT_RawDataColl ( IdentifierHash hashId,
const TRT_ID * trtId,
MsgStream & log )
inline

Create TRT_RawDataCollection.

Definition at line 187 of file InDetRawDataFakeCreator.h.

190{
191 // create a new trt RDO collection
192 InDetRawDataCollection<TRT_RDORawData>* rdocoll =
193 new InDetRawDataCollection< TRT_RDORawData >(hashId);
194
195 IdContext cntx(trtId->straw_layer_context());
196
197 // need the DE identifier
198 Identifier strLayId = trtId->layer_id (hashId);
199 rdocoll->setIdentifier(strLayId);
200
201 int deltaStraw = trtId->straw_max(strLayId)/6;
202 log << MSG::VERBOSE << "straw max, dstraw: "
203 << trtId->straw_max(strLayId) << " "
204 << deltaStraw << " "
205 << endmsg;
206
207 int straw = deltaStraw;
208 // loop on 16 digits
209 for (int j = 0; j < 4; ++j, straw += deltaStraw) {
210
211 Identifier id_readout = trtId->straw_id(strLayId, straw);
212 unsigned int trtWord= (0xFFFFFFFF);
213
214 TRT_LoLumRawData *rdo= new TRT_LoLumRawData(id_readout, trtWord);
215 if (rdo) {
216 rdocoll->push_back(rdo);
217
218 } else {
219 log << MSG::ERROR << "Could not create TRT_LoLumRawData object !"
220 << endmsg;
221 }
222 // Print out contents of RDO
223 log << MSG::VERBOSE << "Created RDO: "
224 << trtId->show_to_string(rdo->identify()) << " "
225 << MSG::hex << rdo->getWord() << endmsg;
226 }
227 return (rdocoll);
228}
Identifier layer_id(int barrel_ec, int phi_module, int layer_or_wheel, int straw_layer) const
For an individual straw layer.
Definition TRT_ID.h:494
int straw_max(const Identifier &id) const
Definition TRT_ID.cxx:760
Identifier straw_id(int barrel_ec, int phi_module, int layer_or_wheel, int straw_layer, int straw) const
Three ways of getting id for a single straw:
Definition TRT_ID.h:575
IdContext straw_layer_context() const
straw_layer id
Definition TRT_ID.cxx:948
@ straw
Definition HitInfo.h:82

The documentation for this class was generated from the following file: