HighLAND
Public Member Functions | Static Public Member Functions | List of all members
GeometryManager Class Reference

Public Member Functions

TGeoManager * GeoManager ()
 
void InitializeGeometry (bool IsMC=true) const
 
void InitializeDetectorDefinitionFromROOTGeometry () const
 Overrride the values in DetectorDefinion with the ones extracted from the ROOT geometry.
 
void FillFGDInfoFromROOTGeometry () const
 Fill FGD info.
 
void GetVolumeProperties (const std::string &name, Double_t *pos, Double_t *size) const
 Get the volume position and size from the ROOT geometry.
 
void SetDetectorBoundaries (const std::string &det_name, Float_t *det_min, Float_t *det_max, const std::string &name1, const std::string &name2="") const
 Overrride the values in DetectorDefinion with the ones extracted from the ROOT geometry.
 
bool LoadGeometry (const std::string &file="", Int_t geomID=-1, const std::string &geomDir="")
 Load the TGeoManager from the input root file. Returns true when the new geometry was loaded.
 
void SetDetectorBoundaries (Float_t *detMin, Float_t *detMax, const Float_t *min, const Float_t *max) const
 Set detector boundaries.
 
Int_t GetCurrentGeomID () const
 Retrieve current geometry ID.
 

Static Public Member Functions

static GeometryManagerGet ()
 Get a pointer to the singleton instance of the geometry information.
 

Detailed Description

Definition at line 42 of file GeometryManager.hxx.

Member Function Documentation

§ InitializeGeometry()

void GeometryManager::InitializeGeometry ( bool  IsMC = true) const

General function to initialize the geometry For the moment used to set appropriate ECal volume definitions depending on Data/MC status

Definition at line 168 of file GeometryManager.cxx.

168  {
169  //*****************************************************************************
170  // ECal volumes has significant data/MC differences, up to ~3-4 cm for prod 6 (alignment applied but as-built geometry
171  // has not yet been changed)
172  // so set the appropriate values (substitute MC with data) when needed
173 
174  if (IsMC)
175  return;
176 
177  // only prod6 should be affected
178  if (!versionUtils::prod6_corrections)
179  return;
180 
181  anaUtils::CopyArray(DetDef::tecalLmin_p6_data, DetDef::tecalLmin, 3);
182 
183  anaUtils::CopyArray(DetDef::tecalLmax_p6_data, DetDef::tecalLmax, 3);
184 
185  anaUtils::CopyArray(DetDef::tecalRmin_p6_data, DetDef::tecalRmin, 3);
186 
187  anaUtils::CopyArray(DetDef::tecalRmax_p6_data, DetDef::tecalRmax, 3);
188 
189  anaUtils::CopyArray(DetDef::tecalTLmin_p6_data, DetDef::tecalTLmin, 3);
190 
191  anaUtils::CopyArray(DetDef::tecalTLmax_p6_data, DetDef::tecalTLmax, 3);
192 
193  anaUtils::CopyArray(DetDef::tecalTRmin_p6_data, DetDef::tecalTRmin, 3);
194 
195  anaUtils::CopyArray(DetDef::tecalTRmax_p6_data, DetDef::tecalTRmax, 3);
196 
197  anaUtils::CopyArray(DetDef::tecalBLmin_p6_data, DetDef::tecalBLmin, 3);
198 
199  anaUtils::CopyArray(DetDef::tecalBLmax_p6_data, DetDef::tecalBLmax, 3);
200 
201  anaUtils::CopyArray(DetDef::tecalBRmin_p6_data, DetDef::tecalBRmin, 3);
202 
203  anaUtils::CopyArray(DetDef::tecalBRmax_p6_data, DetDef::tecalBRmax, 3);
204 
205  return;
206 
207 }

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