Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
spacecharge::SpaceChargeProtoDUNEdp Class Reference

#include <SpaceChargeProtoDUNEdp.h>

Inheritance diagram for spacecharge::SpaceChargeProtoDUNEdp:
spacecharge::SpaceCharge

Public Member Functions

 SpaceChargeProtoDUNEdp (fhicl::ParameterSet const &pset)
 
 SpaceChargeProtoDUNEdp (SpaceChargeProtoDUNEdp const &)=delete
 
virtual ~SpaceChargeProtoDUNEdp ()=default
 
bool Configure (fhicl::ParameterSet const &pset, detinfo::DetectorPropertiesData const &)
 
bool Update (uint64_t ts=0)
 
bool EnableSimSpatialSCE () const override
 
bool EnableSimEfieldSCE () const override
 
bool EnableCalSpatialSCE () const override
 Return boolean indicating whether or not to apply SCE corrections. More...
 
bool EnableCalEfieldSCE () const override
 Return boolean indicating whether or not to apply SCE corrections. More...
 
bool EnableCorrSCE () const override
 
geo::Vector_t GetPosOffsets (geo::Point_t const &point) const override
 
geo::Vector_t GetEfieldOffsets (geo::Point_t const &point) const override
 
geo::Vector_t GetCalPosOffsets (geo::Point_t const &point, int const &TPCid) const override
 
geo::Vector_t GetCalEfieldOffsets (geo::Point_t const &point, int const &TPCid) const override
 
- Public Member Functions inherited from spacecharge::SpaceCharge
 SpaceCharge (const SpaceCharge &)=delete
 
 SpaceCharge (SpaceCharge &&)=delete
 
SpaceChargeoperator= (const SpaceCharge &)=delete
 
SpaceChargeoperator= (SpaceCharge &&)=delete
 
virtual ~SpaceCharge ()=default
 

Protected Member Functions

std::vector< double > GetOffsetsVoxel (geo::Point_t const &point, TH3F *hX, TH3F *hY, TH3F *hZ) const
 Provides position offsets using voxelized interpolation. More...
 
- Protected Member Functions inherited from spacecharge::SpaceCharge
 SpaceCharge ()=default
 

Protected Attributes

std::vector< TH3F * > SCEhistograms = std::vector<TH3F*>(7)
 
std::vector< TH3F * > CalSCEhistograms = std::vector<TH3F*>(6)
 
short int driftcoordinate
 
Double_t Anodebin
 
bool fEnableSimSpatialSCE
 
bool fEnableSimEfieldSCE
 
bool fEnableCalSpatialSCE
 
bool fEnableCalEfieldSCE
 
bool fEnableCorrSCE
 
double fEfield
 
std::string fRepresentationType
 
std::string fInputFilename
 
std::string fCalInputFilename
 

Detailed Description

Definition at line 28 of file SpaceChargeProtoDUNEdp.h.

Constructor & Destructor Documentation

spacecharge::SpaceChargeProtoDUNEdp::SpaceChargeProtoDUNEdp ( fhicl::ParameterSet const &  pset)
explicit

Definition at line 40 of file SpaceChargeProtoDUNEdp.cxx.

43 {
45  //Configure(pset);
46 }
spacecharge::SpaceChargeProtoDUNEdp::SpaceChargeProtoDUNEdp ( SpaceChargeProtoDUNEdp const &  )
delete
virtual spacecharge::SpaceChargeProtoDUNEdp::~SpaceChargeProtoDUNEdp ( )
virtualdefault

Member Function Documentation

bool spacecharge::SpaceChargeProtoDUNEdp::Configure ( fhicl::ParameterSet const &  pset,
detinfo::DetectorPropertiesData const &  detProp 
)

Definition at line 48 of file SpaceChargeProtoDUNEdp.cxx.

50 {
51 
52  fEnableSimSpatialSCE = pset.get<bool>("EnableSimSpatialSCE");
53  fEnableSimEfieldSCE = pset.get<bool>("EnableSimEfieldSCE");
54  fEnableCalSpatialSCE = pset.get<bool>("EnableCalSpatialSCE");
55  fEnableCalEfieldSCE = pset.get<bool>("EnableCalEfieldSCE");
56 
57  fEfield = detProp.Efield();
58  std::cout<<"Efield : "<<fEfield<<std::endl;
59 
61  // auto const* geom = lar::providerFrom<geo::GeometryCore>();
63  if( driftcoordinate==1 || driftcoordinate==2 )
64  {
65  std::cout<<" drift coordinate: "<<driftcoordinate<<std::endl;
66  }else{ throw cet::exception("CRTGen") << "unknown drift coordinate "<< driftcoordinate << " \n"; }
67 
68 
69  /* +1: positive x
70  +2: positive y
71  +3: positive z
72  -1: negative x
73  -2: negative y
74  -3: negative z
75  0: other (or algorithm failed)
76  */
77 
78 
79  if((fEnableSimSpatialSCE == true) || (fEnableSimEfieldSCE == true))
80  {
81 
82  //x,y, z (drift is x)
83 
84  fInputFilename = pset.get<std::string>("InputFilename");
85 
86 
88  cet::search_path sp("FW_SEARCH_PATH");
89  sp.find_file(fInputFilename,fname);
90  std::cout<<"spacecharge dualphase protodune: Find file: "<<fInputFilename<<" "<<fname<<std::endl;
91 
92  std::unique_ptr<TFile> infile(new TFile(fname.c_str(), "READ"));
93  if(!infile->IsOpen()) throw cet::exception("SpaceChargeProtoDUNEdp") << "Could not find the space charge effect file '" << fname << "'!\n";
94  // units are cm and V/cm
95  // if (fRepresentationType == "Voxelized_TH3") {
96  //set up for driftcoordinate=1, driftcoordinate=2 is y-axis drift
97  // drift coordinate uses -> hDeltaLength
98  TH3F* hDx_sim_orig;
99  TH3F* hDy_sim_orig;
100  TH3F* hEndPoint_sim_orig; //was X
101  if (driftcoordinate==1){
102  hDx_sim_orig= (TH3F*)infile->Get("hDeltaLength");
103  hDy_sim_orig = (TH3F*)infile->Get("hEndPointDY");
104  hEndPoint_sim_orig = (TH3F*)infile->Get("hEndPointX");
105  Anodebin = hEndPoint_sim_orig->GetXaxis()->GetXmax();
106 
107  }else if (driftcoordinate==2){
108  hDx_sim_orig= (TH3F*)infile->Get("hEndPointDX");
109  hDy_sim_orig = (TH3F*)infile->Get("hDeltaLength");
110  hEndPoint_sim_orig = (TH3F*)infile->Get("hEndPointY");
111  Anodebin = hEndPoint_sim_orig->GetYaxis()->GetXmax();//?
112  }else{
113  throw cet::exception("SpaceChargeProtoDUNEdp") << "Driftcoordinate "<<driftcoordinate<<" unknown\n";
114  }
115 
116  TH3F* hDz_sim_orig = (TH3F*)infile->Get("hEndPointDZ");
117  TH3F* hEx_sim_orig = (TH3F*)infile->Get("hEx");
118  TH3F* hEy_sim_orig = (TH3F*)infile->Get("hEy");
119  TH3F* hEz_sim_orig = (TH3F*)infile->Get("hEz");
120 
121 
122 
123  TH3F* hEndPointDrift_sim = (TH3F*) hEndPoint_sim_orig->Clone("hEndPointDrift");
124 
125  TH3F* hDx_sim = (TH3F*)hDx_sim_orig->Clone("hDx_sim");
126  TH3F* hDy_sim = (TH3F*)hDy_sim_orig->Clone("hDy_sim");
127  TH3F* hDz_sim = (TH3F*)hDz_sim_orig->Clone("hDz_sim");
128  TH3F* hEx_sim = (TH3F*)hEx_sim_orig->Clone("hEx_sim");
129  TH3F* hEy_sim = (TH3F*)hEy_sim_orig->Clone("hEy_sim");
130  TH3F* hEz_sim = (TH3F*)hEz_sim_orig->Clone("hEz_sim");
131 
132  hEndPointDrift_sim->SetDirectory(0);
133 
134  hDx_sim->SetDirectory(0);
135  hDy_sim->SetDirectory(0);
136  hDz_sim->SetDirectory(0);
137  hEx_sim->SetDirectory(0);
138  hEy_sim->SetDirectory(0);
139  hEz_sim->SetDirectory(0);
140 
141 
142 
143  SCEhistograms = {hDx_sim, hDy_sim, hDz_sim, hEx_sim, hEy_sim, hEz_sim, hEndPointDrift_sim};
144 
145  // } //other representations not included yet..
146 
147  }
148  fEnableCalEfieldSCE = false;
149  fEnableCalSpatialSCE = false;
150 
151  if((fEnableCalSpatialSCE == true) || (fEnableCalEfieldSCE == true))
152  {
153 
154 
155  fCalInputFilename = pset.get<std::string>("CalibrationInputFilename");
156 
158  cet::search_path sp("FW_SEARCH_PATH");
159  sp.find_file(fCalInputFilename,fname);
160  std::cout<<"spacecharge dualphase protodune: Find file: "<<fCalInputFilename<<" "<<fname<<std::endl;
161 
162  std::unique_ptr<TFile> calinfile(new TFile(fname.c_str(), "READ"));
163  if(!calinfile->IsOpen()) throw cet::exception("SpaceChargeProtoDUNEdp") << "Could not find the space charge effect calibration file '" << fname << "'!\n";
164 
165  TH3F* hDx_cal_orig = (TH3F*)calinfile->Get("hoffsetX");
166  TH3F* hDy_cal_orig = (TH3F*)calinfile->Get("hoffsetY");
167  TH3F* hDz_cal_orig = (TH3F*)calinfile->Get("hoffsetZ");
168 
169  TH3F* hEx_cal_orig = (TH3F*)calinfile->Get("hEx");
170  TH3F* hEy_cal_orig = (TH3F*)calinfile->Get("hEy");
171  TH3F* hEz_cal_orig = (TH3F*)calinfile->Get("hEz");
172 
173 
174 
175  TH3F* hDx_cal = (TH3F*)hDx_cal_orig->Clone("hDx_cal");
176  TH3F* hDy_cal = (TH3F*)hDy_cal_orig->Clone("hDy_cal");
177  TH3F* hDz_cal = (TH3F*)hDz_cal_orig->Clone("hDz_cal");
178  TH3F* hEx_cal = (TH3F*)hEx_cal_orig->Clone("hEx_cal");
179  TH3F* hEy_cal = (TH3F*)hEy_cal_orig->Clone("hEy_cal");
180  TH3F* hEz_cal = (TH3F*)hEz_cal_orig->Clone("hEz_cal");
181 
182  hDx_cal->SetDirectory(0);
183  hDy_cal->SetDirectory(0);
184  hDz_cal->SetDirectory(0);
185  hEx_cal->SetDirectory(0);
186  hEy_cal->SetDirectory(0);
187  hEz_cal->SetDirectory(0);
188 
189 
190 
191  CalSCEhistograms = {hDx_cal, hDy_cal, hDz_cal, hEx_cal, hEy_cal, hEz_cal};
192 
193 
194 
195 
196 
197  }
198 
199 
200  return true;
201 }
std::string string
Definition: nybbler.cc:12
string infile
short int DetectDriftDirection() const
Returns the expected drift direction based on geometry.
Definition: TPCGeo.cxx:157
TPCGeo const & TPC(unsigned int const tpc=0, unsigned int const cstat=0) const
Returns the specified TPC.
cet::coded_exception< error, detail::translate > exception
Definition: exception.h:33
QTextStream & endl(QTextStream &s)
bool spacecharge::SpaceChargeProtoDUNEdp::EnableCalEfieldSCE ( ) const
overridevirtual

Return boolean indicating whether or not to apply SCE corrections.

Implements spacecharge::SpaceCharge.

Definition at line 236 of file SpaceChargeProtoDUNEdp.cxx.

bool spacecharge::SpaceChargeProtoDUNEdp::EnableCalSpatialSCE ( ) const
overridevirtual

Return boolean indicating whether or not to apply SCE corrections.

Return boolean indicating whether or not to apply SCE corrections

Implements spacecharge::SpaceCharge.

Definition at line 230 of file SpaceChargeProtoDUNEdp.cxx.

bool spacecharge::SpaceChargeProtoDUNEdp::EnableCorrSCE ( ) const
inlineoverridevirtual

Implements spacecharge::SpaceCharge.

Definition at line 43 of file SpaceChargeProtoDUNEdp.h.

bool EnableCalEfieldSCE() const override
Return boolean indicating whether or not to apply SCE corrections.
bool EnableCalSpatialSCE() const override
Return boolean indicating whether or not to apply SCE corrections.
bool spacecharge::SpaceChargeProtoDUNEdp::EnableSimEfieldSCE ( ) const
overridevirtual

Return boolean indicating whether or not to turn simulation of SCE on for E field distortions

Implements spacecharge::SpaceCharge.

Definition at line 218 of file SpaceChargeProtoDUNEdp.cxx.

bool spacecharge::SpaceChargeProtoDUNEdp::EnableSimSpatialSCE ( ) const
overridevirtual

Return boolean indicating whether or not to turn simulation of SCE on for spatial distortions

Implements spacecharge::SpaceCharge.

Definition at line 211 of file SpaceChargeProtoDUNEdp.cxx.

geo::Vector_t spacecharge::SpaceChargeProtoDUNEdp::GetCalEfieldOffsets ( geo::Point_t const &  tmp_point,
int const &  TPCid 
) const
overridevirtual

Primary working method of service that provides E field offsets to be used in charge/light yield calculation (e.g.) for calibration

Implements spacecharge::SpaceCharge.

Definition at line 521 of file SpaceChargeProtoDUNEdp.cxx.

522 { //not implemented yet..
523  std::vector<double> theEfieldOffsets;
524  geo::Point_t point = tmp_point;
525 
526 
527  // Efieldoffset or ratio of Efield?
528 
529  //if (fRepresentationType == "Voxelized_TH3"){
530 
531  theEfieldOffsets = GetOffsetsVoxel(point, CalSCEhistograms.at(3), CalSCEhistograms.at(4), CalSCEhistograms.at(5));
532  // }else
533  //theEfieldOffsets.resize(3,0.0);
534 
535  return { -theEfieldOffsets[0], -theEfieldOffsets[1], -theEfieldOffsets[2] };
536 }
std::vector< double > GetOffsetsVoxel(geo::Point_t const &point, TH3F *hX, TH3F *hY, TH3F *hZ) const
Provides position offsets using voxelized interpolation.
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< double >, ROOT::Math::GlobalCoordinateSystemTag > Point_t
Type for representation of position in physical 3D space.
Definition: geo_vectors.h:184
geo::Vector_t spacecharge::SpaceChargeProtoDUNEdp::GetCalPosOffsets ( geo::Point_t const &  tmp_point,
int const &  TPCid 
) const
overridevirtual

Primary working method of service that provides position offsets to be used in calibration of space charge

Implements spacecharge::SpaceCharge.

Definition at line 286 of file SpaceChargeProtoDUNEdp.cxx.

287 {
288 
289  std::vector<double> thePosOffsets;
290  geo::Point_t point = tmp_point;
291 
292 
293  // if (fRepresentationType == "Voxelized_TH3"){
294 
295  thePosOffsets = GetOffsetsVoxel(point, CalSCEhistograms.at(0), CalSCEhistograms.at(1), CalSCEhistograms.at(2));
296 
297  // } else thePosOffsets.resize(3,0.0);
298 
299  return { thePosOffsets[0], thePosOffsets[1], thePosOffsets[2] };
300 }
std::vector< double > GetOffsetsVoxel(geo::Point_t const &point, TH3F *hX, TH3F *hY, TH3F *hZ) const
Provides position offsets using voxelized interpolation.
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< double >, ROOT::Math::GlobalCoordinateSystemTag > Point_t
Type for representation of position in physical 3D space.
Definition: geo_vectors.h:184
geo::Vector_t spacecharge::SpaceChargeProtoDUNEdp::GetEfieldOffsets ( geo::Point_t const &  tmp_point) const
overridevirtual

Primary working method of service that provides E field offsets to be used in charge/light yield calculation (e.g.)

Implements spacecharge::SpaceCharge.

Definition at line 462 of file SpaceChargeProtoDUNEdp.cxx.

463 {
464 
465  std::vector<double> theEfieldOffsets;
466  geo::Point_t point = {tmp_point.X(), tmp_point.Y(), tmp_point.Z()};
467 
468 
469 
470  theEfieldOffsets = GetOffsetsVoxel(point, SCEhistograms.at(3), SCEhistograms.at(4), SCEhistograms.at(5));
471  //THESE are the absoluted values of the Efield
472  //ISCalculation expects difference from expected field
473  /*
474  geo::Point_t midPoint
475  { ( step->GetPreStepPoint()->GetPosition() + step->GetPostStepPoint()->Ge\
476 tPosition() ) * 0.5/CLHEP::cm };
477  auto EfieldDelta = fEfield * SCE->GetEfieldOffsets(midPoint);
478  geo::Vector_t EfieldVec
479  = { fEfield + EfieldDelta.X(), EfieldDelta.Y(), EfieldDelta.Z() };
480  std::cout<<"ISCalculation : "<<EfieldVec.R()<<std::endl; return EfieldVe\
481 c.R();
482  */
483  // fEfield = detprop->Efield(); kV/cm..
484  // Efield in larsoft is in kV/cm
485  //std::cout<<"SpaceCharge efield: "<<pow( pow(theEfieldOffsets[0],2) + pow(theEfieldOffsets[1],2) +pow(theEfieldOffsets[2],2) ,0.5)/1000.0<<std::endl;
486 
487 
488  //These maps are in: V/cm
489  theEfieldOffsets[0]= theEfieldOffsets[0]/(-1000.0);
490  theEfieldOffsets[1]= theEfieldOffsets[1]/(-1000.0);
491  theEfieldOffsets[2]= theEfieldOffsets[2]/(-1000.0);
492 
493  if(driftcoordinate==1){
494  theEfieldOffsets[0]=theEfieldOffsets[0]-fEfield;
495 
496  }else if(driftcoordinate==2){
497  theEfieldOffsets[1]=theEfieldOffsets[1]-fEfield;
498  }else{
499  std::cout<<" Problem with drift field coordiate system for Efield calculation "<<std::endl;
500  }
501  theEfieldOffsets[0]= theEfieldOffsets[0]/(fEfield);
502  theEfieldOffsets[1]= theEfieldOffsets[1]/(fEfield);
503  theEfieldOffsets[2]= theEfieldOffsets[2]/(fEfield);
504 
505 
506 
507  // std::cout<<theEfieldOffsets[0]<<" "<<theEfieldOffsets[1]<<" "<<
508  //theEfieldOffsets[2]<<std::endl;
509 
510 
511  // } else theEfieldOffsets.resize(3,0.0);
512 
513  return { theEfieldOffsets[0], theEfieldOffsets[1], theEfieldOffsets[2] };
514  // }
515 
516 
517 }
std::vector< double > GetOffsetsVoxel(geo::Point_t const &point, TH3F *hX, TH3F *hY, TH3F *hZ) const
Provides position offsets using voxelized interpolation.
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< double >, ROOT::Math::GlobalCoordinateSystemTag > Point_t
Type for representation of position in physical 3D space.
Definition: geo_vectors.h:184
QTextStream & endl(QTextStream &s)
std::vector< double > spacecharge::SpaceChargeProtoDUNEdp::GetOffsetsVoxel ( geo::Point_t const &  point,
TH3F *  hX,
TH3F *  hY,
TH3F *  hZ 
) const
protected

Provides position offsets using voxelized interpolation.

Definition at line 429 of file SpaceChargeProtoDUNEdp.cxx.

430 {
431 
432  if (isWithinHist(point, hX) && isWithinHist(point, hY) && isWithinHist(point, hZ)) {
433 
434  //need to check, X Y and Z on all three histograms..
435 
436  return {
437  hX->Interpolate(point.X(),point.Y(),point.Z()),
438  hY->Interpolate(point.X(),point.Y(),point.Z()),
439  hZ->Interpolate(point.X(),point.Y(),point.Z())
440  };
441  }
442  if (isWithinHistOuter(point, hX) && isWithinHistOuter(point, hY) && isWithinHistOuter(point, hZ)) {
443  //use Laura's extrapolation method
444  // std::cout<<"extrap: ";
445 
446  return {ExtrapolateAtEdge(hX, point.X(),point.Y(),point.Z()),
447  ExtrapolateAtEdge(hY,point.X(),point.Y(),point.Z()),
448  ExtrapolateAtEdge(hZ,point.X(),point.Y(),point.Z())};
449  }
450  // std::cout<<"outside: ";
451  return {0.0,0.0,0.0}; //no offset and no efield!
452 
453 
454 
455 }
bool isWithinHistOuter(geo::Point_t const &point, TH3F *hist)
double ExtrapolateAtEdge(TH3F *hist, double x, double y, double z)
bool isWithinHist(geo::Point_t const &point, TH3F *hist)
geo::Vector_t spacecharge::SpaceChargeProtoDUNEdp::GetPosOffsets ( geo::Point_t const &  tmp_point) const
overridevirtual

Primary working method of service that provides position offsets to be used in ionization electron drift

Implements spacecharge::SpaceCharge.

Definition at line 243 of file SpaceChargeProtoDUNEdp.cxx.

244 {
245  //x [-300,300], y [-300,300], z[0,600]
246  std::vector<double> thePosOffsets;
247  geo::Point_t point = {tmp_point.X(), tmp_point.Y(), tmp_point.Z()};
248 
249 
250  // if (fRepresentationType=="Voxelized_TH3"){
251 
252  thePosOffsets = GetOffsetsVoxel(point, SCEhistograms.at(0), SCEhistograms.at(1), SCEhistograms.at(2));
253  //drift offset = bended trajectory - straight, LArVoxelReadout requires (straight-bended), so flip
254 
255 
256  //} else thePosOffsets.resize(3,0.0);
257 
258  //CHECK EndPointX (does this point get to the anode?), if not make offsets so large point goes outside volume...
259  // std::cout<<"pos: "<< tmp_point.X()<<" "<< tmp_point.Y()<<std::endl;
260 
261  if(isWithinHist(point, SCEhistograms.at(6)))
262  {
263  // std::cout<<"within..?"<<SCEhistograms.at(6)->Interpolate(point.X(), point.Y(), point.Z())<<" "<<SCEhistograms.at(6)->GetXaxis()->GetXmax()<<std::endl;
264  if (SCEhistograms.at(6)->Interpolate(point.X(), point.Y(), point.Z()) >= Anodebin )
265  {
266 
267  // std::cout<<"hits anode: "<< tmp_point.X()<<" "<< tmp_point.Y()<<" "<< tmp_point.Z()<<" "<<thePosOffsets[0]<<" "<< thePosOffsets[1]<<" "<< thePosOffsets[2]<<std::endl;
268  if(driftcoordinate==1){
269  return {-thePosOffsets[0], thePosOffsets[1], thePosOffsets[2] };
270  }else if (driftcoordinate==2)
271  { //is Voxel ready for y-shift?
272  return {thePosOffsets[0], -thePosOffsets[1], thePosOffsets[2] };
273  }else{
274  throw cet::exception("SpaceChargeProtoDUNEdp") << "Driftcoordinate "<<driftcoordinate<<" unknown\n";
275  }
276  }
277  }
278 
279  return {9999999,9999999,9999999 };
280 
281  }
std::vector< double > GetOffsetsVoxel(geo::Point_t const &point, TH3F *hX, TH3F *hY, TH3F *hZ) const
Provides position offsets using voxelized interpolation.
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< double >, ROOT::Math::GlobalCoordinateSystemTag > Point_t
Type for representation of position in physical 3D space.
Definition: geo_vectors.h:184
bool isWithinHist(geo::Point_t const &point, TH3F *hist)
cet::coded_exception< error, detail::translate > exception
Definition: exception.h:33
bool spacecharge::SpaceChargeProtoDUNEdp::Update ( uint64_t  ts = 0)

Definition at line 203 of file SpaceChargeProtoDUNEdp.cxx.

204 {
205  if (ts == 0) return false;
206  return true;
207 }

Member Data Documentation

Double_t spacecharge::SpaceChargeProtoDUNEdp::Anodebin
protected

Definition at line 59 of file SpaceChargeProtoDUNEdp.h.

std::vector<TH3F*> spacecharge::SpaceChargeProtoDUNEdp::CalSCEhistograms = std::vector<TH3F*>(6)
protected

Definition at line 56 of file SpaceChargeProtoDUNEdp.h.

short int spacecharge::SpaceChargeProtoDUNEdp::driftcoordinate
protected

Definition at line 58 of file SpaceChargeProtoDUNEdp.h.

std::string spacecharge::SpaceChargeProtoDUNEdp::fCalInputFilename
protected

Definition at line 73 of file SpaceChargeProtoDUNEdp.h.

double spacecharge::SpaceChargeProtoDUNEdp::fEfield
protected

Definition at line 69 of file SpaceChargeProtoDUNEdp.h.

bool spacecharge::SpaceChargeProtoDUNEdp::fEnableCalEfieldSCE
protected

Definition at line 66 of file SpaceChargeProtoDUNEdp.h.

bool spacecharge::SpaceChargeProtoDUNEdp::fEnableCalSpatialSCE
protected

Definition at line 65 of file SpaceChargeProtoDUNEdp.h.

bool spacecharge::SpaceChargeProtoDUNEdp::fEnableCorrSCE
protected

Definition at line 67 of file SpaceChargeProtoDUNEdp.h.

bool spacecharge::SpaceChargeProtoDUNEdp::fEnableSimEfieldSCE
protected

Definition at line 64 of file SpaceChargeProtoDUNEdp.h.

bool spacecharge::SpaceChargeProtoDUNEdp::fEnableSimSpatialSCE
protected

Definition at line 63 of file SpaceChargeProtoDUNEdp.h.

std::string spacecharge::SpaceChargeProtoDUNEdp::fInputFilename
protected

Definition at line 72 of file SpaceChargeProtoDUNEdp.h.

std::string spacecharge::SpaceChargeProtoDUNEdp::fRepresentationType
protected

Definition at line 71 of file SpaceChargeProtoDUNEdp.h.

std::vector<TH3F*> spacecharge::SpaceChargeProtoDUNEdp::SCEhistograms = std::vector<TH3F*>(7)
protected

Definition at line 55 of file SpaceChargeProtoDUNEdp.h.


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